## **預覽**
在本教程中,我們將創建一個帶有簡單注冊表單的應用程序,同時介紹Phalcon的主要設計方面
本教程介紹了一個簡單的MVC應用程序的實現,展示了使用Phalcon實現它是多么快速和容易。一旦開發完成,您就可以使用這個應用程序并擴展它以滿足您的需要。本教程中的代碼也可以用來學習Phalcon特定概念和想法。
如果你只是想開始,你可以跳過這一步,用我們的開發工具自動創建一個Phalcon項目。
使用本指南的最佳方法是按照本指南進行操作,并嘗試從中獲得樂趣。您可以在這里獲得完整的代碼。如果您遇到問題或有問題,請訪問我們的Discord或我們的論壇。
## **目錄結構**
**Phalcon的一個關鍵特征是它是松散耦合的。**因此,您可以使用任何方便的目錄結構。在本教程中,我們將使用MVC應用程序中常用的標準目錄結構。
```
└── 根目錄
├── app
│ ├── controllers
│ │ ├── IndexController.php
│ │ └── SignupController.php
│ ├── models
│ │ └── Users.php
│ └── views
└── public
├── css
├── img
├── index.php
└── js
```
> 注意:由于Phalcon暴露的所有代碼都封裝在擴展中(你已經在你的web服務器上加載了),你不會看到包含Phalcon代碼的供應商目錄。你需要的一切都在內存中。如果您還沒有安裝應用程序,請轉到安裝頁面并在繼續本教程之前完成安裝
如果這是全新的,建議你也安裝Phalcon Devtools。DevTools利用PHP內置的web服務器,讓你幾乎可以立即運行你的應用程序。如果你選擇了這個選項,你需要在你的項目根目錄下有一個.htrouter.php文件,包含以下內容:
```
<?php
$uri = urldecode(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));
if ($uri !== '/' && file_exists(__DIR__ . '/public' . $uri)) {
return false;
}
$_GET['_url'] = $_SERVER['REQUEST_URI'];
require_once __DIR__ . '/public/index.php';
```
在我們的教程中,這個文件必須位于教程目錄中。
你也可以使用nginX, apache, cherokee或其他web服務器。您可以查看web服務器設置頁面的說明。
## **啟動**
您需要創建的第一個文件是引導文件。該文件充當應用程序的入口點和配置。在這個文件中,您可以實現組件的初始化,也可以定義應用程序的行為。
#### 這個文件處理3件事:
* 組件自動裝彈機的注冊
* 配置服務并將它們注冊到依賴注入上下文中
* 解析應用程序的HTTP請求
## 自動加載
我們將使用Phalcon\\Loader一個符合PSR-4的文件加載器。通常應該添加到自動裝彈器的是你的控制器和模型。您還可以注冊目錄,以便掃描應用程序所需的文件。
首先,讓我們使用Phalcon\\Loader注冊我們應用程序的控制器和模型目錄:
`public/index.php`
```
<?php
use Phalcon\Loader;
define('BASE_PATH', dirname(__DIR__));
define('APP_PATH', BASE_PATH . '/app');
// ...
$loader = new Loader();
$loader->registerDirs(
[
APP_PATH . '/controllers/',
APP_PATH . '/models/',
]
);
$loader->register();
```