前言:开发之前请先安装PHP的phalcon扩展及配置nginx或者apache,如果用linux宝塔和nginx的同学可以按照小编的教程进行安装配置“宝塔安装phalcon扩展及nginx配置”,或者其他的环境可以到某度上也有很多安装教程,接下来开始本次的教程!
一、文件结构
Phalcon不会强制要求应用程序的开发遵循特定的文件结构。因为它是松散耦合的,你可以实现Phalcon驱动的应用程序,以及使用对你来说最舒服的文件结构,小编用的是以下的目录结构。

讯享网
二、引导程序
需要创建的第一个文件是引导文件。这个文件很重要; 因为它作为你的应用程序的基础,用它来控制应用程序的各个方面。 在这个文件中,你可以实现组件的初始化和应用程序的行为。
基本上, 它负责做三件事情:
1、设置自动加载器
2、配置依赖注入
3、处理应用请求
创建引导程序(public/index.php)
<?php use Phalcon\Loader; use Phalcon\Mvc\View; use Phalcon\Mvc\Application; use Phalcon\Di\FactoryDefault; use Phalcon\Mvc\Url as UrlProvider; use Phalcon\Db\Adapter\Pdo\Mysql as DbAdapter; // 注册一个自动加载器 $loader = new Loader(); $loader->registerDirs( [ "../app/controllers/", "../app/models/", ] ); $loader->register(); // 创建一个 DI $di = new FactoryDefault(); // 设置视图组件 $di->set( "view", function () {
$view = new View(); $view->setViewsDir("../app/views/"); return $view; } ); // 设置一个基础URI, 这样所有生成的URI都包含"tutorial"文件夹 $di->set( "url", function () {
$url = new UrlProvider(); $url->setBaseUri("/"); return $url; } ); // 设置数据库信息 $di->set( "db", function () {
return new DbAdapter( [ "host" => "", "username" => "", "password" => "", "dbname" => "", ] ); } ); $application = new Application($di); try {
// 处理请求 $response = $application->handle(); $response->send(); } catch (\Exception $e) {
echo "Exception: ", $e->getMessage(); }
讯享网
引导文件很短,我们并不需要引入任何其他文件。在短短的代码里,我们已经成功设定一个灵活的MVC应用程序。
三、创建控制器
默认情况下Phalcon会寻找一个名为“Index”的控制器。当请求中没有控制器或动作时,则使用“Index”控制器作为起点(app/controllers/IndexController.php)
讯享网<?php use Phalcon\Mvc\Controller; class IndexController extends Controller {
public function indexAction() {
echo "<h1>Hello Word!</h1>"; } }
该控制器类必须有“Controller”后缀,且控制器动作必须有“Action”后缀,测试访问

恭喜完成了第一步,接下来让phalcon带你飞!
四、输出到视图
Phalcon框架将在最后执行的控制器的同名目录中,查找最后执行的动作的同名的视图我们创建视图(app/views/index/index.phtml)
<?php echo "<h1>Hello Views!</h1>";
同时将控制器改为

讯享网<?php use Phalcon\Mvc\Controller; class IndexController extends Controller {
public function indexAction() {
} }
然后我们执行看浏览器输出

没问题成功输出
五、编写一个简单的注册表单
现在我们将改变index.phtml视图文件,添加一个链接到一个名为“signup”的新控制器。我们的目的是在应用程序中实现用户注册
<?php echo "<h1>Hello Views!</h1>"; echo PHP_EOL; echo PHP_EOL; echo $this->tag->linkTo( "signup", "点击注册" );
执行查看浏览器中显示的样式

生成的HTML代码显示超链接到一个新的控制器方法,那我们创建一个注册控制器 (app/controllers/SignupController.php)
讯享网<?php use Phalcon\Mvc\Controller; class SignupController extends Controller {
public function indexAction() {
} }
这个空index动作就是指向到视图 (app/views/signup/index.phtml),我们创建视图
<h2> 注册 </h2> <?php echo $this->tag->form("signup/register"); ?> <p> <label for="name"> 姓名 </label> <?php echo $this->tag->textField("name"); ?> </p> <p> <label for="email"> 邮箱 </label> <?php echo $this->tag->textField("email"); ?> </p> <p> <?php echo $this->tag->submitButton("提交"); ?> </p> </form>
查看浏览器显示

六、创建数据表
讯享网CREATE TABLE `users` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(70) NOT NULL, `email` varchar(70) NOT NULL, PRIMARY KEY (`id`) );
七、创建模型
模型应该位于 app/models 目录 (app/models/Users.php).这个模型对应“users”表
<?php use Phalcon\Mvc\Model; class Users extends Model {
public $id; public $name; public $email; }
八、设置数据库连接
在引导程序中设置正确的参数(public/index.php)

九、使用模型保存数据
从表单接收数据存储在表中,修改注册控制器如下,加入注册方法(app/controllers/SignupController.php)
讯享网<?php use Phalcon\Mvc\Controller; class SignupController extends Controller {
public function indexAction() {
} public function registerAction() {
$user = new Users(); // 存储和检验错误 $success = $user->save( $this->request->getPost(), [ "name", "email", ] ); if ($success) {
echo "注册成功"; } else {
echo "失败问题如下: "; $messages = $user->getMessages(); foreach ($messages as $message) {
echo $message->getMessage(), "<br/>"; } } $this->view->disable(); } }
点击提交按钮显示信息乳腺

注册成功-------------------------------------------------------------

注册失败-------------------------------------------------------------
到这里就完成了小编就完成了本次开发,这是一个非常简单的教程,正如你所看到的,使用Phalcon很容易开始构建应用程序。Phalcon是一个在web服务器易于开发、特性优良的框架,有问题评论留言,小编看到会及时解答的呦!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/64932.html