目錄結(jié)構(gòu)
new_phalcon/
├── app
│ ├── config
│ │ ├── config.php //數(shù)據(jù)庫配置, 文件路徑配置
│ │ ├── loader.php
│ │ └── services.php //注冊服務(wù)
│ ├── 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
應(yīng)用目錄 -
public
資源目錄 -
cache
緩存目錄
最重要的就是app
目錄, model
, View
, Controller
都在其中, 除此之外還有config
目錄
MVC
MVC
是常見的軟件架構(gòu)模式之一, 其詳細(xì)定義再次不贅述, 其三個部分的作用簡述如下:
-
Model
: 用于數(shù)據(jù)庫建立合理的抽象, 在Phalcon中, 使用ORM
, 把數(shù)據(jù)轉(zhuǎn)化為對象 -
View
: 將數(shù)據(jù)展現(xiàn)給用戶 -
Controller
: 控制器連接著Model與View, 轉(zhuǎn)發(fā)Model
與View
之間的請求
第一個控制器與視圖
現(xiàn)在我們先使用下面的命令創(chuàng)建一個控制器:
$phalcon controller articles
Phalcon Tools
會為我們創(chuàng)建一個app/controllers/ArticlesController.php
文件
現(xiàn)在打開這個文件, 我們發(fā)現(xiàn)ArticlesController
已經(jīng)新建好了
所有的Controller
都會繼承自Phalcon\Mvc\Controller
<?php
class ArticlesController extends ControllerBase
{
public function indexAction()
{
$this->view->welcome = "Hello World!!!";
}
}
有了控制器, 我們再創(chuàng)建一個視圖文件app/views/articles/index.volt
<div class="page-header">
<h1>{{ welcome }}</h1>
</div>
現(xiàn)在打開瀏覽器localhost:8008/articles
, Hello World!!!
控制器與路徑
來看一下這個控制器與視圖:
app/controllers/ArticelsController@indexAction
app/views/articles/index.volt
可以看到controllers/ArticlesController
對應(yīng)著目錄views/articles/
,
而方法indexAction
則對應(yīng)著模板文件index.volt
,
也就是說, Phalcon
會按照文件名命名規(guī)則為我們尋找控制器相對應(yīng)的視圖文件
volt模板文件
.volt
文件是Phalcon
中使用的一種模板文件, 除了有一般的HTML
標(biāo)簽之外,
還有有一套類似上面{{ welcome }}
的嵌入式標(biāo)簽, 這個標(biāo)簽表示輸出變量welcome
,
在php
相當(dāng)于<?php echo $this->welcome ?>
。
可以看到, .volt
的語法要比原生php
要簡潔很多干发。
總結(jié)
我們的第一個頁面就這樣完成啦, 并且初步認(rèn)識了Controller
與View
的建立