程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php mvc開發實例詳解(1/3)

php mvc開發實例詳解(1/3)

編輯:關於PHP編程

<?php教程
include("core/ini.php");
initializer::initialize();
$router = loader::load("router");
dispatcher::dispatch($router);

這個文件就只有4句,我們現在一句句來分析。
include(”core/ini.php”);

我們來看core/ini.php

<?php
set_include_path(get_include_path() . path_separator . "core/main");
//set_include_path — sets the include_path configuration option
function __autoload($object){
require_once("{$object}.php");
}

這個文件首先設置了include_path,也就是我們如果要找包含的文件,告訴系統在這個目錄下查找。其實我們定義__autoload()方法,這個方法是在php5增加的,就是當我們實例化一個函數的時候,如果本文件沒有,就會自動去加載文件。官方的解釋是:
接下來我們看下面一句
initializer::initialize();
這就話就是調用initializer類的一個靜態函數initialize,因為我們在ini.php,設置了include_path,以及定義了__autoload,所以程序會自動在core/main目錄查找initializer.php.
initializer.php文件如下:

<?php
class initializer
{
public static function initialize() {
set_include_path(get_include_path().path_separator . "core/main");
set_include_path(get_include_path().path_separator . "core/main/cache");
set_include_path(get_include_path().path_separator . "core/helpers");
set_include_path(get_include_path().path_separator . "core/libraries");
set_include_path(get_include_path().path_separator . "app/controllers");
set_include_path(get_include_path().path_separator."app/models");
set_include_path(get_include_path().path_separator."app/views");
//include_once("core/config/config.php");
}
}
?>

這個函數很簡單,就只定義了一個靜態函數,initialize函數,這個函數就是設置include_path,這樣,以後如果包含文件,或者__autoload,就會去這些目錄下查找。

ok,我們繼續,看第三句

$router = loader::load(”router”);

1 2 3

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved