前面已经将环境和配置方式说明了,接下来用一个简单的APP来说明一下框架的工作流程
工作目录一般为这样,我们按照原版里面的举例
tutorial/
app/
controllers/
models/
views/
public/
css/
img/
js/
在tutorial/public/建一个 bootstrap file——index.php ,这个是应用的基础,文件内容
<?php
try
{
//注册一个autoloader,加载view和contraller中的class
$loader = new \Phalcon\Loader();
$loader->registerDirs(array(
'../app/controllers/’,
'../app/models/’
))->register();
//创建一个 DI,DI用来让各个类的工作透明的联系起来
$di = new Phalcon\DI\FactoryDefault();
//定义指出view的位置
$di->set(’view’, function()
{
$view = new \Phalcon\Mvc\View();
$view->setViewsDir(’../app/views/’);
return $view;
});
//设置一个根URI 其他的url都会依赖它
$di->set(’url’, function()
{
$url = new \Phalcon\Mvc\Url();
$url->setBaseUri(’/tutorial/’);
return $url;
});
//处理请求
$application = new \Phalcon\Mvc\Application($di);
echo $application->handle()->getContent();
}
catch(\Phalcon\Exception $e)
{
echo "PhalconException: ", $e->getMessage();
}
如果没有给定controller的话,phalcon会寻找index这个controller
app/controllers/IndexController.php中内容如下
<?php
class IndexController extends \Phalcon\Mvc\Controller
{
public function indexAction()
{
echo "<h1>Hello!</h1>";
}
}
流程大致就是创建一个Loader,来加载目录中的controller,contraller继承自\Phalcon\Mvc\Controller这个类,用来显示一个网页标题,如果到这步也成功了,phalcon已经正常工作了。