static function getInstance($base_dir = '') { if (empty(self::$instance)) { self::$instance = new self($base_dir); } return self::$instance; }
其中index.php为入口文件,test为controller,thanks为方法,p1、p2为参数 上面这种方式几乎不需要修改web服务器任何配置。 下面提供另一种链接访问方式:http://yourhost/test/thanks?p1=a&p2=b 这种方式需要修改web服务器配置文件,下面给出nginx.conf的配置 增加 server { listen 80; server_name yourhost; root /var/www/html/mvc; # /var/www/html/mvc是你的文件目录,可修改为其他路径 index index.php index.html index.htm; try_files $uri $uri/ /index.php$is_args$args; location ~ \.php$ { root /var/www/html/mvc; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/html/mvc$fastcgi_script_name; include fastcgi_params; } } 公共底层可以放在Library里,文件命名与类名相同,但是请注意不要与Grug里文件名重复,以避免autoload时出错。 */ // error_reporting(E_ERROR | E_WARNING | E_PARSE); //设置错误报告 ini_set('display_errors', 'On'); error_reporting(1); define("BASEDIR", __DIR__); include BASEDIR . "/Grug/Loader.php"; spl_autoload_register("\\Grug\\Grug_Loader::autoload"); Grug_Bootstrap::getInstance(BASEDIR)->init(); Grug_Dispatch::getInstance(BASEDIR)->dispatch();
<?php ini_set("memory_limit", "100M"); ini_set('display_errors', 'On'); error_reporting(1); define("BASEDIR", realpath(dirname(__FILE__) . "/../../")); //定位到框架根目录 include BASEDIR . "/Grug/Loader.php"; spl_autoload_register("\\Grug\\Loader::autoload"); // var_dump($argv); Grug_Bootstrap::getInstance($base_dir)->init(); Grug_Cli::getInstance(BASEDIR)->execute(array('testclass', 'test'), $argv); function test() { $obj = new TestModel(); var_dump($obj->getInfo()); $param = func_get_args(); var_dump($param); } class testclass { function test($param) { echo "hahaclass\n"; var_dump($param); } }