ข้ามไปที่เนื้อหาหลัก

บทความ

Setting Dynamic base URL in CodeIgniter 4.4.3

 ไปที่ app/Config/Constants.php แล้วเปิดใน IDE (โปรแกรมเขียน  code) ของคุณ จากนั้นวางโค้ดด้านล่างนี้ไว้ที่ท้ายไฟล์ของคุณ if ( php_sapi_name () !== 'cli' ) {     // โค้ดของคุณที่เกี่ยวข้องกับ HTTP request     $base_url = (( isset ( $_SERVER [ 'HTTPS' ]) && $_SERVER [ 'HTTPS' ] == 'on' ) || isset ( $_ENV [ 'FORCE_HTTPS' ])) ? 'https' : 'http' ;     $base_url .= '://' . $_SERVER [ 'HTTP_HOST' ];     $base_url .= str_replace ( basename ( $_SERVER [ 'SCRIPT_NAME' ]), '' , $_SERVER [ 'SCRIPT_NAME' ]);     defined ( 'BASE_URL' ) || define ( 'BASE_URL' , $base_url ); } ไปที่ app/Config/App.php เปลี่ยน     public string $baseURL = 'http://localhost:8080/' ; เป็น      public string $baseURL = BASE_URL; เท่านี้ท่านก็จะได้ไม่ต้องเปลี่ยน Url ให้ลำบากครับ ลืมบอก ไม่ต้องเข้าไปตั้งค่าในไฟล์ .env นะครับ (ใช้งาน spark ปกติครับ)
โพสต์ล่าสุด

การตั้งค่าให้ใช้ Spark Ci4 ได้ภายใน server ของ Synology NAS

 หากท่านเข้า terminal ของ vs code แล้วเกิดอาการแสดง error ให้ท่านดำเนินการดังนี้ ตัวอย่าง error php spark Fatal error: Uncaught InvalidArgumentException: The .env file is not readable: \\YOUR_SERVER\WEB\esign-approve\.env in \\ YOUR_SERVER \WEB\ (ชื่อโปรเจคของท่าน) \vendor\codeigniter4\framework\system\Config\DotEnv.php on line 62 InvalidArgumentException: The .env file is not readable: \\\\YOUR_SERVER\WEB\ (ชื่อโปรเจคของท่าน) \.env in \\\\YOUR_SERVER\WEB\ (ชื่อโปรเจคของท่าน) \vendor\codeigniter4\framework\system\Config\DotEnv.php on line 62 Call Stack:     0.0354     413520   1. {main}() \\\\YOUR_SERVER\WEB\ (ชื่อโปรเจคของท่าน) \spark:0     4.1167    2077848   2. CodeIgniter\Config\DotEnv->load() \\\\YOUR_SERVER\WEB\ (ชื่อโปรเจคของท่าน) \spark:79     4.1167    2077848   3. CodeIgniter\Config\DotEnv->parse() \\\\YOUR_SERVER\WEB\ (ชื่อโปรเจคของท่าน) \vendor\codeigniter4\framework\system\Config\DotEnv.php:45 1. เข้าไปที่ตัวจัดการไฟล์ 2. เลือก folder ของท่าน ที่ท่านกำลังดำเนินการอยู

การตั้งค่า baseController

  <?php namespace App\Controllers ; use CodeIgniter\ Controller ; use CodeIgniter\HTTP\ CLIRequest ; use CodeIgniter\HTTP\ IncomingRequest ; use CodeIgniter\HTTP\ RequestInterface ; use CodeIgniter\HTTP\ ResponseInterface ; use Psr\Log\ LoggerInterface ; /**  * Class BaseController  *  * BaseController provides a convenient place for loading components  * and performing functions that are needed by all your controllers.  * Extend this class in any new controllers:  *     class Home extends BaseController  *  * For security be sure to declare any new methods as protected or private.  */ abstract class BaseController extends Controller {     /**      * Instance of the main Request object.      *      * @var CLIRequest | IncomingRequest      */     protected $request ;     /**      * An array of helpers to be loaded automatically upon      * class instantiation. These helpers will be available      * to all other controllers that extend BaseController.      *      * @var

การตั้งค่า App.php ใน Codeigniter 4

 แนวทางในการตั้งค่า (\App\Configs\App.php) ดังนี้ <?php namespace Config ; use CodeIgniter \ Config \ BaseConfig ; class App extends BaseConfig {     /**      * --------------------------------------------------------------------------      * Base Site URL      * --------------------------------------------------------------------------      *      * URL สำหรับ root ของ CodeIgniter ของคุณ โดยทั่วไป, นี่จะเป็น URL หลักของคุณ      * โดยมี trailing slash:      *      *    http://example.com/      */     public string $ baseURL = ' http://localhost:8080/ ' ;     /**      * Hostnames ที่ได้รับอนุญาตใน Site URL นอกเหนือจาก hostname ใน baseURL      * ถ้าคุณต้องการรับข้อมูลจาก Hostnames หลาย ๆ ตัว, ให้ตั้งค่านี้      *      * เช่น เมื่อ Site URL ของคุณ ($baseURL) คือ 'http://example.com/'      * และเว็บไซต์ของคุณยอมรับ 'http://media.example.com/' และ 'http://accounts.example.com/':      *          ['media.example.com', 'accounts.example.com'

จะลบ index.php ออกจาก URL ใน CodeIgniter 4 ได้อย่างไร

CodeIgniter คืออะไร? CodeIgniter เป็น  เฟรมเวิร์กที่ขับเคลื่อนด้วย PHP  สำหรับการพัฒนาแอปพลิเคชันอย่างรวดเร็ว ในขณะที่สร้างเว็บแอปพลิเคชัน เราใช้เวลาส่วนใหญ่ในการเขียนโค้ดเดิมซ้ำแล้วซ้ำอีก เฟรมเวิร์กเป็นบล็อกเริ่มต้นและลดจำนวนโค้ดที่จำเป็นในการสร้างเว็บไซต์ให้เหลือน้อยที่สุด CodeIgniter เป็นเฟรมเวิร์กแอปพลิเคชันเว็บ  PHP เชิงวัตถุ  ที่เป็นโอเพ่นซอร์สและใช้งานง่ายฟรี CodeIgniter ใช้ MVC โดยมีไลบรารีสำหรับเชื่อมต่อกับฐานข้อมูลและดำเนินการต่างๆ เช่น การส่งอีเมล การอัปโหลดไฟล์ ฯลฯ สำหรับการใช้ Codeigniter การมี  ความรู้พื้นฐานเกี่ยวกับไวยากรณ์ PHP และวิธีการโต้ตอบกับฐานข้อมูลและ HTML ถือเป็นเรื่องดี ทำไมต้องลบ index.php? การลบ index.php จะทำให้ URL ดูสะอาดตาและเป็นมืออาชีพ กรอบงาน Codeigniter ให้บริการมุมมองทั้งหมดผ่านไฟล์เดียว index.php หากไม่มีไฟล์นี้ ไม่มีโมเดล/มุมมอง/คอนโทรลเลอร์จะไม่ทำงาน เราจำเป็นต้องลบ index.php ออกจาก URL ด้วยการกำหนดค่าที่เหมาะสม ไม่เช่นนั้นมันจะแสดงหน้า 404 การลบไฟล์ index.php เปิดไฟล์ \App\Configs\App.php ในโปรแกรมแก้ไขข้อความและลบ index.php ออกจากที่นี่ จากเดิม

การตั้งค่า .env Codeigniter 4

  ใน CodeIgniter 4 ไฟล์ .env เป็นไฟล์ที่ใช้สำหรับการตั้งค่าต่าง ๆ ของโปรเจ็กต์. นี่คือขั้นตอนการตั้งค่า .env : คัดลอกไฟล์ .env: โปรเจ็กต์ CodeIgniter 4 มีไฟล์ env ในไดเรกทอรีหลัก. คัดลอกไฟล์ env และบันทึกเป็นไฟล์ .env cp env . env แก้ไขไฟล์ .env: เปิดไฟล์ .env ด้วยตัวแก้ไขข้อความ (เช่น Notepad++, Visual Studio Code, หรือโปรแกรมที่คุณชื่นชอบ) แก้ไขค่าต่าง ๆ ตามที่คุณต้องการ. ตัวอย่างบางตัวอย่างที่คุณอาจต้องการแก้ไข: # ตั้งค่าฐานข้อมูล database.default.hostname = localhost database.default.database = mydatabase database.default.username = myusername database.default.password = mypassword database.default.DBDriver = MySQLi  # ตั้งค่า URL ของโปรเจ็กต์ app.baseURL = 'http://localhost:8080' ทำให้แน่ใจว่าคุณตั้งค่าตัวแปรที่สำคัญอย่างเห็นได้ทั้งหมดที่คุณต้องการใน .env . เปิดใช้งานโปรเจ็กต์: หากคุณใช้คำสั่ง php spark serve เพื่อรันเซิร์ฟเวอร์ในโหมดพัฒนา, แน่ใจว่า URL ที่ตั้งค่าใน .env สอดคล้องกับพอร์ตที่คุณใช้. การเปิดใช้งานโหมดการแจ้งเตือน (Debug Mode): หากคุณต้องการเปิดใช้งาน

การลบ public ใน codeigniter 4

Codeigniter 4 จะมี folder public โผล่มา เพื่อให้เราใช้งานในเวอร์ชั่น development ( เวอร์ชั่นที่อยู่ในขั้นตอนการพัฒนา ยังไม่ได้เปิดใช้งานจริง ) และเมื่อนำโปรเจคไปใช้งานจริง เราอาจจะไม่ต้องการให้ชื่อโฟลเด้อ public แสดงบน url วิธี ลบโฟลเด้อ public ออกจาก url สามารถทำได้ง่าย ๆ ใน 3 ขั้นตอน ง่ายๆ ดังนี้ ในโฟลเด้อ public ให้ย้าย ไฟล์ index.php, .htaccess และ robot.txt ออกมาไว้ที่ root ของโปรเจค จากนั้นลบ folder public ทิ้งได้เลย เปิดไฟล์ index.php จากนั้นให้แก้ไขตัวแปร FCPATH ให้พาธถูกต้อง จากเดิม (บรรทัดที่ 34) require FCPATH . ' ../app/Config/Paths.php ' ; แก้ไขเป็น require FCPATH . ' app/Config/Paths.php ' เปิดไฟล์ spark จากนั้นให้แก้ไขตัวแปร pathsPath ให้พาธถูกต้อง (หากเราไม่ทำการเปลี่ยนเราจะใช้ spark ไม่ได้เลย) จากเดิม (บรรทัดที่ 69) define ( 'FCPATH' , __DIR__ . DIRECTORY_SEPARATOR .'public'.DIRCTORY_SEPARATOR ); // Load our paths config file // This is the line that might need to be changed, depending on your folder structure. require FCPATH .