LotusPhp也是單入口的框架,可以根據需要開啟多個應用實例
例如前臺頁面可以用index.php作為入口文件,后臺可以用admin.php作為入口文件,多個應用實例可以共享應用配置和類庫或者根本每個應用實例定義不同的配置和類庫。
在LotusPhp框架中,有3個重要的組成部分
類庫+約定+膠水代碼
而LotusPhp就是通過膠水代碼來整合所有類庫和約定的,正常情況下,只要引用框架目錄中的Lotus.php一個文件即可,其他文件都可以通過Autoload類庫自動加載
現在我們就來了解下入口文件的規范
<?php
ob_start();
//如果不開啟session,下面這行可以注釋掉
session_start();
//定義文件編碼
header('Content-Type:text/html;charset=UTF-8');
//防止直接打開的參數,一般用于模板或者類庫,函數文件中
define("LOTUS", true);
//定義根目錄
define("ROOT",dirname(__FILE__));
//引用Lotus.php
$lotusHome = ROOT.'/framework/';
include($lotusHome . "Lotus.php");
$lotus = new Lotus;
//是否處于開發模式,開發模式適合于調試,每次運行都會重新編譯模板和配置文件
//改成false,即成為生產模式,性能會有所提升,不過更改了模板和配置需要刪除文件緩存
$lotus->devMode = true;
//定義文件緩存目錄
$lotus->defaultStoreDir = ROOT.'/cache/';
//定義項目運行目錄,如果不定義項目運行目錄,LotusPhp將配合其他框架或者程序只做自動加載的作用,將不調用MVC和路由等組件,你可以把LotusPhp當做一個類庫集而不是一個框架使用
$lotus->option['proj_dir'] = ROOT.'/runtime/';
//定義應用實例名稱,應用實例目錄在項目運行目錄下
$lotus->option['app_name'] = 'Admin';
//非必須,定義可以自動加載的目錄,一般項目目錄下所有函數和類庫都會自動加載
//這里定義只適合加載在項目運行目錄之外的文件夾中的類庫和函數
$lotus->option['autoload_dir'] = ROOT.'/plugin/';
//LotusPhp啟動
$lotus->init();
如果您使用別的框架或者視圖引擎,可以將LotusPhp當做一個自動加載的類庫集也可以,按照上面的注釋修改就可以完成,在php程序的第一行引用上面這個文件即可
當然,您也可以將別的框架里的優秀類庫稍作修改改為LotusPhp的框架類庫或者常用類即可,稍后的章節中,我們會對LotusPhp的框架類庫的規范有一個講解
項目運行目錄中的文件,除了視圖文件夾和配置文件夾,只允許包含類庫和函數文件的php,在函數外或者類庫外定義變量,常量或者運行php語句容易引起混亂,不建議這樣做。
浙公網安備 33010602011771號