Phalcon框架的入门使用,Phalcon框架学习,编写简单的视图输出及数据库写入!

前言:开发之前请先安装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服务器易于开发、特性优良的框架,有问题评论留言,小编看到会及时解答的呦!

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jeson是只程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值