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

การตั้งค่า 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']
     *
     * @var string[]
     * @phpstan-var list<string>
     */
    public array $allowedHostnames = [];

    /**
     * --------------------------------------------------------------------------
     * Index File
     * --------------------------------------------------------------------------
     *
     * โดยทั่วไป, นี่จะเป็นไฟล์ index.php ของคุณ, ยกเว้นกรณีที่คุณเปลี่ยนชื่อไฟล์
     * ถ้าคุณใช้ mod_rewrite เพื่อลบหน้า ให้ตั้งค่าตัวแปรนี้เพื่อให้เป็น blank
     */
    public string $indexPage = '';

    /**
     * --------------------------------------------------------------------------
     * URI PROTOCOL
     * --------------------------------------------------------------------------
     *
     * รายการนี้กำหนดว่า server global ไหนควรใช้เพื่อดึง URI string
     * การตั้งค่าเริ่มต้น 'REQUEST_URI' ทำงานสำหรับเซิร์ฟเวอร์ส่วนมาก
     * หากลิงค์ของคุณไม่ทำงาน, ลองใช้หนึ่งในแบบทดสอบที่อร่อยต่อปากนี้:
     *
     * 'REQUEST_URI'    = $_SERVER['REQUEST_URI']
     * 'QUERY_STRING'   = $_SERVER['QUERY_STRING']
     * 'PATH_INFO'      = $_SERVER['PATH_INFO']
     *
     * คำเตือน: หากคุณตั้งค่าเป็น 'PATH_INFO', URI จะถูก URL-decoded เสมอ!
     */
    public string $uriProtocol = 'REQUEST_URI';

    /**
     * --------------------------------------------------------------------------
     * Default Locale
     * --------------------------------------------------------------------------
     *
     * Locale แทบจะแทนภาษาและที่ตั้งที่ผู้เยี่ยมชมของคุณกำลังดูเว็บไซต์จาก มันมีผลต่อสตริงภาษา
     * และสตริงอื่น ๆ (เช่นเครื่องหมายสกุลเงิน, ตัวเลข, ฯลฯ) ที่โปรแกรมของคุณควรทำงานภายใต้สำหรับคำขอนี้
     */
    public string $defaultLocale = 'en';

    /**
     * --------------------------------------------------------------------------
     * Negotiate Locale
     * --------------------------------------------------------------------------
     *
     * ถ้าเป็นจริง, วัตถุ Request ปัจจุบันจะกำหนดภาษาที่จะใช้โดยอัตโนมัติ
     * โดยดูค่าของหัวข้อ Accept-Language
     *
     * ถ้าเป็นเท็จ, จะไม่มีการตรวจสอบโดยอัตโนมัติ
     */
    public bool $negotiateLocale = false;

    /**
     * --------------------------------------------------------------------------
     * Supported Locales
     * --------------------------------------------------------------------------
     *
     * ถ้า $negotiateLocale เป็นจริง, อาร์เรย์นี้ระบุลิสต์ locales ที่รองรับ
     * โดยแบบจากล่างขึ้นบนเรียงลำดับความสำคัญ หากไม่พบตรงกัน, จะใช้ locale แรก
     *
     * IncomingRequest::setLocale() ยังใช้รายการนี้
     *
     * @var string[]
     */
    public array $supportedLocales = ['th','en'];

    /**
     * --------------------------------------------------------------------------
     * Application Timezone
     * --------------------------------------------------------------------------
     *
     * Timezone เริ่มต้นที่จะใช้ในแอปพลิเคชันของคุณเพื่อแสดงวันที่ด้วย date helper
     * และสามารถดึงได้ผ่าน app_timezone()
     *
     * @see https://www.php.net/manual/en/timezones.php สำหรับรายการของ Timezones ที่รองรับโดย PHP.
     */
    public string $appTimezone = 'Asia/Bangkok';

    /**
     * --------------------------------------------------------------------------
     * Default Character Set
     * --------------------------------------------------------------------------
     *
     * รายการนี้กำหนดว่า character set ใดถูกใช้เป็นค่าเริ่มต้นในวิธีการต่าง ๆ
     * ที่ต้องการ character set เพื่อให้การให้บริการ
     *
     * @see http://php.net/htmlspecialchars สำหรับรายการของ charsets ที่รองรับ.
     */
    public string $charset = 'UTF-8';

    /**
     * --------------------------------------------------------------------------
     * Force Global Secure Requests
     * --------------------------------------------------------------------------
     *
     * ถ้าเป็นจริง, นี้จะบังคับทุกคำขอที่ทำกับแอปพลิเคชันนี้ที่จะทำผ่านการเชื่อมต่อที่ปลอดภัย (HTTPS)
     * หากคำขอที่เข้ามาไม่ปลอดภัย, ผู้ใช้จะถูกนำไปยังเวอร์ชันที่ปลอดภัยของหน้า
     * และหัวข้อ HTTP Strict Transport Security จะถูกตั้งค่า
     */
    public bool $forceGlobalSecureRequests = false;

    /**
     * --------------------------------------------------------------------------
     * Reverse Proxy IPs
     * --------------------------------------------------------------------------
     *
     * หากเซิร์ฟเวอร์ของคุณอยู่ท้าย reverse proxy, คุณต้องระบุ IP addresses ของ proxy
     * ที่ CodeIgniter ควรเชื่อถือ headers เช่น X-Forwarded-For หรือ Client-IP
     * เพื่อระบุที่อยู่ IP ของผู้เยี่ยมชม
     *
     * คุณต้องตั้งค่าที่อยู่ IP ของ proxy หรือที่อยู่ IP พร้อม subnets และ
     * หัวข้อ HTTP สำหรับที่อยู่ IP ของ client
     *
     * นี่คือตัวอย่างบางประการ:
     *     [
     *         '10.0.1.200'     => 'X-Forwarded-For',
     *         '192.168.5.0/24' => 'X-Real-IP',
     *     ]
     *
     * @var array<string, string>
     */
    public array $proxyIPs = [];

    /**
     * --------------------------------------------------------------------------
     * Content Security Policy
     * --------------------------------------------------------------------------
     *
     * เปิดใช้งาน Content Secure Policy ของ Response เพื่อจำกัดที่มาที่ใช้สำหรับรูปภาพ, สคริปต์, ไฟล์ CSS, เสียง, วิดีโอ, ฯลฯ
     * หากเปิดใช้งาน, Response object จะเติมค่าเริ่มต้นสำหรับนโยบายจากไฟล์ `ContentSecurityPolicy.php`
     * Controllers สามารถเพิ่มเข้าไปในข้อจำกัดเหล่านี้ได้ที่เวลารันไทม์
     *
     * สำหรับเข้าใจมากขึ้นเกี่ยวกับ CSP, ดูเอกสารเหล่านี้:
     *
     * @see http://www.html5rocks.com/en/tutorials/security/content-security-policy/
     * @see http://www.w3.org/TR/CSP/
     */
    public bool $CSPEnabled = false;
}

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

การติดตั้ง CodeIgniter 4 (CI4) ด้วย Composer

  การติดตั้ง CodeIgniter 4 (CI4) ด้วย Composer มีขั้นตอนหลัก ๆ ดังนี้: ติดตั้ง Composer: ถ้าคุณยังไม่มี Composer ติดตั้งในระบบของคุณ คุณต้องติดตั้ง Composer จาก getcomposer.org . สร้างโปรเจ็กต์ CodeIgniter 4: เปิดโปรแกรมเทอร์มินัลหรือ Command Prompt แล้วใช้คำสั่งต่อไปนี้: composer create-project codeigniter4/appstarter myproject แทน "myproject" ด้วยชื่อโปรเจ็กต์ที่คุณต้องการ. เข้าสู่โปรเจ็กต์: ในที่ที่คุณสร้างโปรเจ็กต์, เข้าไปที่ไดเรกทอรีโปรเจ็กต์: cd myproject รันเซิร์ฟเวอร์ในโหมดพัฒนา: เพื่อทดสอบโปรเจ็กต์ของคุณ, คุณสามารถรันเซิร์ฟเวอร์ในโหมดพัฒนา: php spark serve นอกจากนี้, คุณสามารถใช้เซิร์ฟเวอร์ที่ให้คุณควบคุม, เช่น Apache, Nginx, หรือ PHP Built-in Server. เข้าระบบ CI4: เปิดเว็บบราวเซอร์และเข้าไปที่ http://localhost:8080 (หรือที่กำหนดไว้ในกรณีที่ใช้คำสั่ง php spark serve ) เพื่อดูหน้าจอต้อนรับของ CodeIgniter 4. นอกจากนี้, คำสั่ง composer create-project ยังสามารถให้คุณกำหนดเวอร์ชันของ CodeIgniter 4 ที่คุณต้องการติดตั้ง. ตัวอย่าง: composer create-project codeigniter4/ap...

การติดตั้ง CodeIgniter 4 แบบ Download

  การติดตั้ง CodeIgniter 4 มีขั้นตอนหลายขั้นตอนที่ควรทำตามดังนี้: ดาวน์โหลด CodeIgniter 4: คุณสามารถดาวน์โหลดได้จาก เว็บไซต์ CodeIgniter โดยเลือกเวอร์ชันที่คุณต้องการ. แตกไฟล์: หลังจากดาวน์โหลดไฟล์ zip ของ CodeIgniter 4 ให้แตกไฟล์ zip นั้น. เปลี่ยนชื่อไดเร็กทอรี: เปิดโฟลเดอร์ที่ได้จากการแตกไฟล์แล้ว และเปลี่ยนชื่อโฟลเดอร์เป็นชื่อโปรเจ็กต์ที่คุณต้องการ. ตั้งค่าฐานข้อมูล: ไปที่ไฟล์ .env ในโฟลเดอร์ของโปรเจ็กต์ของคุณ. ตั้งค่ารายละเอียดของฐานข้อมูล เช่น database.default.hostname , database.default.database , database.default.username , และ database.default.password . สร้างตารางฐานข้อมูล: ใน CLI (Command Line Interface) ของระบบคอมพิวเตอร์, เข้าไปในโฟลเดอร์ของโปรเจ็กต์ของคุณแล้วรันคำสั่ง: php spark migrate สร้าง Controller และ View: ใน CLI, รันคำสั่งเพื่อสร้าง Controller และ View ตัวอย่าง: php spark make :controller MyController php spark make :view my_view ทดสอบ: เปิดเว็บบราวเซอร์และเข้าไปที่ URL ของโปรเจ็กต์ของคุณ เช่น http://localhost/myproject . นอกจากนี้, ยังมีขั้นตอนอื่น ๆ ที่...

การตั้งค่า 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 lo...