首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

InitPHP 輕量框架實戰:從零建立高可用 Web 專案 (入門篇)

     編輯:PHP 相關知識

框架特色

  • 單一入口、MVC 分層、模組化設計
  • 配置驅動、輕量核心 (約 200KB)
  • 支援多應用、多入口部署
  • 官網:initphp.com

專案目錄結構

project/
├── initphp/              # 框架核心 (git submodule 建議)
├── conf/
│   └── comm.conf.php     # 專案配置
├── web/
│   ├── controller/       # 控制器
│   └── index.php         # 入口文件
└── runtime/              # 快取、日誌 (需寫入權限)

1. 入口文件

<?php
// web/index.php
define('APP_PATH', __DIR__ . '/../');
require APP_PATH . 'initphp/initphp.php';

// 載入專案配置
$configFile = APP_PATH . 'conf/comm.conf.php';
if (file_exists($configFile)) {
    InitPHP::setConfig(include $configFile);
}

InitPHP::init();

2. 專案配置

<?php
// conf/comm.conf.php
return [
    'url' => 'https://local.initphp.com/', // 專案域名
    'controller' => [
        'default_controller' => 'index',   // 預設控制器
        'default_action' => 'run',         // 預設動作
        'controller_suffix' => 'Controller', // 類別後綴
    ],
    'db' => [
        'default' => [
            'host' => '127.0.0.1',
            'user' => 'root',
            'pwd' => '',
            'dbname' => 'initphp_demo',
            'charset' => 'utf8',
        ],
    ],
    'log' => [
        'level' => 'info',
        'path' => APP_PATH . 'runtime/logs/',
    ],
];

3. 控制器實作

<?php
// web/controller/IndexController.php
class IndexController extends Controller
{
    public function run()
    {
        // 直接輸出
        echo 'Hello InitPHP!';
        
        // 或使用視圖
        // $this->view->assign('title', '首頁');
        // $this->view->display('index.html');
    }
    
    public function hello($name = 'World')
    {
        echo "Hello, {$name}!";
    }
}

4. 訪問驗證

  • https://local.initphp.com/ → IndexController::run()
  • https://local.initphp.com/?c=index&a=hello&name=InitPHP → IndexController::hello('InitPHP')

進階:入口與應用分離部署 (生產環境推薦)

project/
├── initphp/
├── app/                    # 應用程式碼 (非 Web 可訪問)
│   ├── conf/
│   ├── controller/
│   └── model/
└── www/                    # Web 根目錄
    ├── index.php           # 入口
    ├── static/             # 靜態資源
    └── .htaccess

入口文件調整:

<?php
// www/index.php
define('APP_PATH', __DIR__ . '/../app/');
define('INITPHP_PATH', __DIR__ . '/../initphp/');
require INITPHP_PATH . 'initphp.php';

InitPHP::setConfig(include APP_PATH . 'conf/comm.conf.php');
InitPHP::init();

優勢

  1. 安全性:應用程式碼、配置、日誌完全在 Web 根目錄外
  2. 多入口:可建立 api.php、admin.php 獨立入口
  3. 子域名:配合 Nginx/Apache 虛擬主機輕鬆實現

InitPHP 以極簡核心提供企業級架構基礎,適合中小型專案快速落地。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved