PHP框架開發教程 三 入口檔案

2021-07-13 05:38:49 字數 1653 閱讀 2650

public/index.php  這是整個框架的單一入口

// 定義框架所有目錄常量,就在當前目錄的上一級,例: wamp/www/

define

('dir_root'

, dirname

(__dir__

) .

'/');

// 匯入框架類

require_once

(dir_root

. 'system/frame.system.php'

);// 執行框架

sframe::

run();

這裡只有三句話, 我想盡可能讓這個檔案簡潔一些.

1.努力避免全域性常量/變數, 我只定義了乙個, 用來記錄 根目錄的物理路徑,即前文中 的根路徑

2.包含框架類,並且執行框架

3.其餘的事情 由框架類來實現

但即使是單一入口的框架,就真的只有乙個入口麼? 

現在我來說第二個入口.

業務中經常會出現這樣的需求: 在控制台上執行乙個php程式 ,或者由定時任務啟動乙個php程式

此需求與正常的web請求是有差別的

1.執行時間可能 較長

2.通常不會輸出 html,而是 記錄日誌或輸出到控制台(echo)

我在system下建立了這樣的入口檔案 system/program.php

/**

* 作為 命令列模式使用的包含檔案

*/// 定義框架所有目錄常量,就在當前目錄的上一級,例: wamp/www/

define

('dir_root'

, dirname

(__dir__

) .

'/');

//包含核心函式庫

require_once

('frame.system.php'

);//處理命令列請求

sframe::

program

();發現沒有?與index.php 只有一點點的差別

還有沒有第三個入口?

有的.

我經常遇到舊系統改造的需求:乙個使用了其它的框架或者沒有使用框架的系統,由於**混亂或執行效率問題或擴充套件問題導致專案要進行重構

,而且,同時還要求, 改造過程中,專案還要執行~~~~~

怎麼辦? 花2-6個月去重構,然後更換? 老闆是不能接受的!

我採取的方案是: 把我的框架 "嵌入" 到原系統 中, 將原系統 的功能逐漸 遷移到新框架中, 這要持續更長的開發時間,但這段時間內,不會影響系統 的正常使用這就引出了第三個入口: system/plugin.php

/*** 本框架作為外掛程式模式的入口

* 用於與其它框架配合使用

*/// 定義框架所有目錄常量,就在當前目錄的上一級,例: wamp/www/

define

('dir_root'

, dirname

(__dir__

) .

'/');

//包含核心函式庫

require_once

('frame.system.php'

);

只要有舊系統中,最好是入口檔案或公共包含檔案中 引入了這個 plugin.php ,就可以使用新框架中的全部功能了.

PHP框架開發教程 四 單一入口

多入口在以前的框架中是存在的,通常可以歸結為 每個模組乙個入口檔案.通過 在入口檔案中配置不同的引數,引導框架 執行不同的路徑.單一入口模式 更為 簡潔,模組名稱只作為乙個入口引數,框架通過判斷模組名稱執行相應的 程式.單一 入口的優點極為明顯 整個框架的流程更為清晰.如果需要在框架層面 增加一些功...

php框架開發四(DAO層)

開發不可避免地要對一些資料進行儲存,但是儲存這些資料各種語言的方式基本上都是 先開啟連線,然後執行sql語句,獲取結結果,關閉連線。那麼php在運算元據庫的時候有哪些方法呢?connect mysql connect host,user,pass mysql select db dbname res...

php的yii框架開發總結9

這一篇講解怎麼實現的自動發郵件的功能,我在網上查了很多資料,很多都是用定時檢測來實現的,我試過,效率太低,也卡了。後來就寫了乙個.bat檔案來實現重新整理頁面,用了windows的定時任務定時來執行該.bat檔案,成功實現了功能。bat檔案 echo offiexplore localhost yi...