前言:开发之前请先安装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服务器易于开发、特性优良的框架,有问题评论留言,小编看到会及时解答的呦!
今天的文章Phalcon框架的入门使用,Phalcon框架学习,编写简单的视图输出及数据库写入!分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/81467.html