目录结构
new_phalcon/
├── app
│ ├── config
│ │ ├── config.php //数据库配置, 文件路径配置
│ │ ├── loader.php
│ │ └── services.php //注册服务
│ ├── controllers
│ │ ├── ControllerBase.php
│ │ └── IndexController.php //入口控制器
│ ├── library
│ ├── migrations
│ ├── models
│ └── views
│ ├── index
│ │ └── index.volt
│ ├── index.volt
│ └── layouts
├── cache
├── index.html
└── public
├── css
├── files
├── img
├── index.php //入口文件
├── js
└── temp
在初始目录中, 我们有三个文件夹:
-
app应用目录 -
public资源目录 -
cache缓存目录
最重要的就是app目录, model, View, Controller都在其中, 除此之外还有config目录
MVC
MVC是常见的软件架构模式之一, 其详细定义再次不赘述, 其三个部分的作用简述如下:
-
Model: 用于数据库建立合理的抽象, 在Phalcon中, 使用ORM, 把数据转化为对象 -
View: 将数据展现给用户 -
Controller: 控制器连接着Model与View, 转发Model与View之间的请求
第一个控制器与视图
现在我们先使用下面的命令创建一个控制器:
$phalcon controller articles
Phalcon Tools会为我们创建一个app/controllers/ArticlesController.php文件
现在打开这个文件, 我们发现ArticlesController已经新建好了
所有的Controller都会继承自Phalcon\Mvc\Controller
<?php
class ArticlesController extends ControllerBase
{
public function indexAction()
{
$this->view->welcome = "Hello World!!!";
}
}
有了控制器, 我们再创建一个视图文件app/views/articles/index.volt
<div class="page-header">
<h1>{{ welcome }}</h1>
</div>
现在打开浏览器localhost:8008/articles, Hello World!!!
控制器与路径
来看一下这个控制器与视图:
app/controllers/ArticelsController@indexActionapp/views/articles/index.volt
可以看到controllers/ArticlesController对应着目录views/articles/,
而方法indexAction则对应着模板文件index.volt,
也就是说, Phalcon会按照文件名命名规则为我们寻找控制器相对应的视图文件
volt模板文件
.volt文件是Phalcon中使用的一种模板文件, 除了有一般的HTML标签之外,
还有有一套类似上面{{ welcome }}的嵌入式标签, 这个标签表示输出变量welcome,
在php相当于<?php echo $this->welcome ?>。
可以看到, .volt的语法要比原生php要简洁很多。
总结
我们的第一个页面就这样完成啦, 并且初步认识了Controller与View的建立