目录结构
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@indexAction
app/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
的建立