php phalcon 中文手册,基础教程 · Phalcon 3.4中文手册 · 看云

本教程介绍如何使用Phalcon框架从头创建一个简单的注册表单应用。内容涵盖了Phalcon的基础教程,包括MVC应用程序的实现、目录结构、自动加载、依赖注入和服务配置,以及如何创建控制器、模型和处理数据库连接。通过本教程,读者可以学习到如何在Phalcon中创建一个简单的注册功能并存储用户数据。
摘要由CSDN通过智能技术生成

[TOC]

# 基础教程

在本教程中,我们将引导您从头开始创建一个简单注册表单的应用程序。以下指南将向您介绍Phalcon框架的设计方面。

本教程介绍了一个简单的MVC应用程序的实现,展示了使用Phalcon可以快速轻松地完成它。本教程将帮助您入门并帮助创建可扩展的应用程序以满足许多需求。本教程中的代码也可以用作学习其他Phalcon特定概念和想法之地。

如果您只是想开始使用,可以跳过此步骤并使用我们的开发者工具自动创建Phalcon项目。(如果你没有经验,如果你遇到困难,可以回到这里)

使用本指南的最佳方式是跟随并尝试获得乐趣。您可以在此处获取完整的代码。如果您对某些事情感到不知所措,请访问我们的[Discord](https://phalcon.link/discord)或我们的[论坛](https://phalcon.link/forum)。

## 文件结构

Phalcon的一个关键特性是松散耦合,您可以构建一个Phalcon项目,其目录结构便于您的特定应用程序。这表示在与其他人合作时,一些统一性是有用的,因此本教程将使用“标准”结构,如果您过去曾与其他MVC合作过,您应该有宾至如归的感觉。

```text

.

└── tutorial

├── app

│   ├── controllers

│   │   ├── IndexController.php

│   │   └── SignupController.php

│   ├── models

│   │   └── Users.php

│   └── views

└── public

├── css

├── img

├── index.php

└── js

```

>[warning] 注意:您不会看到`vendor`目录,因为所有Phalcon的核心依赖项都是通过您应该安装的Phalcon扩展加载到内存中的。如果您错过了那部分尚未安装Phalcon扩展请返回并完成安装,然后继续。

如果这是全新的,建议您安装Phalcon Devtools,因为它利用PHP的内置服务器来运行您的应用程序,而无需通过将此[.htrouter](https://github.com/phalcon/phalcon-devtools/blob/master/templates/.htrouter.php) 添加到项目的根目录来配置Web服务器。

否则,如果你想使用Nginx,请查看`Web服务器设置`章节。

Apache也可以在`Web服务器设置`使用这些附加设置。

最后,如果你的最爱是Cherokee,请查看`Web服务器设置`章节。

## Bootstrap

您需要创建的第一个文件是启动程序文件。此文件充当应用程序的入口点和配置。在此文件中,您可以实现组件的初始化以及应用程序行为。

这个文件处理3件事:

- 注册自动加载组件

- 配置服务并使用依赖注入上下文注册它们

- 解析应用程序的HTTP请求

### 自动加载

自动加载器利用通过Phalcon运行的兼容[PSR-4](http://www.php-fig.org/psr/psr-4/)的文件加载器。应添加到自动装带器的常见事项是控制器和模型。您可以注册将在应用程序命名空间中搜索文件的目录。如果您想了解其他可以使用自动加载器的方法,请访问`类加载器`章节。

首先,让我们注册我们的应用程序的`controllers`和`models`目录。不要忘记包括`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();

```

### 依赖管理

由于Phalcon松耦合,因此服务在框架依赖管理中注册,因此可以将它们自动注入包含在[IoC](https://en.wikipedia.org/wiki/Inversion_of_control)容器中的组件和服务。通常你会遇到DI这个词代表依赖注入。依赖注入和控制反转(IoC)可能听起来像一个复杂的功能,但在Phalcon中它们的使用非常简单实用。Phalcon的IoC容器包含以下概念:

- 服务容器:一个“包”,我们在全局存储我们的应用程序需要运行的服务。

Phalcon 中文文档 一般都是直接看英文资料,大都能看得懂。但看到Phalcon框架如此优秀,在学习后就想和大家分享,但发现国内的人几乎没有使用的,故想翻译一下,一旦翻译才发现读懂和译出一篇好文章真的不太一样。 故前一期翻译的部分章节有点生硬,等有空的时候再回头重译吧,后面的一部分也是以英文文档为基础,但并不再是逐句翻译了。 09年左右,大量的框架出现,我看过的框架不下20种,最先看到的可能就是php.MVC了,这是一个按照struts 1x编写的,只不过同时加载的类库太多了,效率不高而且不太完善。 后来稍有名的包括 cakephp, Symfony, Akelos, Prado, Kohana等,最近几年流行的就是 zf, yii, ci等,当然还有国内几个比较有名的框架,如fleaphp, thinkphp等。 在上面的一些框架中,我比较感冒的还是ci,yii,thinkphp等。ci,thinkphp够简单,速度也不错。yii是生活在国外的华人开发,功能够全而强大,速度也不错,国内的应用也不少。 一直不太喜欢zf,记得几年前就和同行朋友聊天的时候说,像ZEND公司完全可以用C语言开发出一个扩展来,这样效率会高得多,为毛非得用PHP开发呢,事实被我验证了,但开发扩展的不是ZEND公司,而是国内一个PHP大鸟,人称鸟哥。这个框架就是非常出名的YAF,因此YAF扩展是我必装的扩展之一。同时这也是我发现的第一个C语言写的扩展框架。 但YAF的缺点是,功能非常不完善,在我看来只是简单实现了MVC结构及路由,分发等功能,像一些ORM之类的功能完全没有开发,作者好像也没有开发的意思:) 后来就发现了Phalcon,一看文档就爱上了她,功能,速度等都是我想要的,我花了一周时间看文档学习她,并在一个下午的过程中,发现了文档中的三个错误并提交了这些错误:),我决定为完善它也贡献一点自己的力量。 本文档中文地址存放在 http://phalcon.5iunix.net Github上的地址为: https://github.com/netstu/phalcondocs ,您如果发现有些地方译的有些操蛋,烦请你fork它,并完善她。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值