開發基本的php框架

2022-09-18 07:51:26 字數 3462 閱讀 5024

github路徑:

一、目錄結構及用途

1、入口檔案(index.php):

<?php /**

* 入口檔案

* 1、定義常量

* 2、載入函式庫

* 3、啟動框架 */

define('root', realpath('./'));

define('core', root.'/core');

include "vendor/autoload.php"; //

引入composer載入的類

define('debug', true

);if

(debug)

else

ini_set('display_errors', 'off');

include_once core.'/common/function.php';

include_once core.'/core.php';

spl_autoload_register('\core\core::load');

\core\core::run();

2、公用函式庫(function.php):

<?php /**

* 公告函式庫 */

function p($var)}

3、核心檔案(core.php):

<?php /**

* 核心檔案 */

namespace core;

use core\lib\log

;class

core

else

throw

new \exception('找不到控制器:'.$controller

); }

static

public

function load($class

)

public

function assign($name, $value

)

public

function display($file

)

else

throw

new \exception('找不到該視**件');}}

4、路由檔案(route.php):

<?php /**

* 路由檔案 */

namespace core\lib;

use\core\lib\conf;

class

route

if (isset($uriarr[1]))

else

$this->action = conf::getconf('action', 'route');

//uri多餘部分轉化成get

for ($i = 2; $i

< count($uriarr) + 2; $i += 2)

isset($uriarr[$i + 1]) ? $_get[$uriarr[$i]] = $uriarr[$i + 1] : '';

} else

log::log('controller:'.$this->controller.', action:'.$this->action.', get:'. json_encode($_get

)); }

}

5、資料庫模型類(model.php):

<?php /**

* model類 */

namespace core\lib;

use\core\lib\conf;

class model extends

\pdo

catch (\pdoexception $e

) }

}

6、配置檔案類(conf.php):

<?php /**

* 配置類 */

namespace core\lib;

class

conf

static

public

function getall($file

)

else

}return self::$conf[$file

]; }

}

7、日誌類(log.php):

<?php /**

* 日誌類 */

namespace core\lib;

use\core\lib\conf;

class

log

static

public

function

log($message, $file = 'log')

}

8、檔案日誌驅動類(file.php):

<?php 

namespace core\lib\

log;

usecore\lib\conf;

class

file

public

function

log($message, $file = 'log')

}

資料庫配置檔案(db.php):

<?php /**

* 資料庫配置檔案 */

return

array

( 'dsn' => 'mysql:host=localhost; dbname=test',

'username' => 'root',

'passwd' => 'xy123456');

日誌配置檔案(log.php):

<?php /**

* 日誌配置檔案 */

return

array

( 'drive' => 'file',

'option' =>[

'path' => root.'/log/']

);

路由配置檔案(route.php):

<?php 

return

array

( 'controller' => 'index',

'action' => 'index');

三、nginx配置,優化url路徑

四、配置composer,載入php擴充套件

php開發 yii框架

yii框架教程 以下圖表展示了乙個應用如何處理請求 使用者向入口指令碼web index.php發起請求。應用通過請求元件解析請求的路由。應用建立乙個控制器例項去處理請求。控制器建立乙個操作例項並針對操作執行過濾器。如果任何乙個過濾器返回失敗,則操作退出。如果所有過濾器都通過,操作將被執行。操作會載...

php框架基本資訊

什麼是框架?是一堆 的集合,裡面包含變數 函式 類 常量,裡面也有設計模式 mvc ar資料庫 單例等。為什麼要使用框架?使用框架可以節省工作量,可以快速 穩定 高效的搭建程式系統 可以使本身的維護性 靈活性 適應客戶需求方面得到最大化的增強,集中精力在業務方面。thinkphp包含 common ...

PHP 微服務開發框架

從近年來的業界架構演進來看,微服務已經逐漸成為趨勢。伴隨著微服務架構的這種快速發展節奏,各種開發語言各種型別的微服務開發框架相繼出現,據各家使用微服務框架的情況,可以看到主要分為四種模式 目前php相關的微服務框架不多,基本上都是基於swoole開發,下面介紹幾種網路上資訊相對較多的幾款php微服務...