Phalcon提供的这个开发工具主要是用来辅助开发,比方生成一些程序的基本框架。生成控制器模型等。

使用这个工具我们仅仅须要一个简单的命令就可以生成应用的基本框架。

很重要: 要使用这个工具我们必需要安装Phalcon 0.5版本号以上的扩展才行。

这里我们推荐使用PHP5.3.6或更高版本号的PHP. 假设你喜欢使用web版而非console版本号的程序,那么在这里 blog
post
 能够看到很多其它的内容。

下载(Download)

我们能够从 Github 上下载或克隆下来这个跨平台的开发辅助工具。

获取可用的命令(Getting Available Commands)

我们能够在虚拟控制台上输入例如以下命令:phalcon commands

$ phalcon commands

Phalcon DevTools (1.2.3)

Available commands:
commands (alias of: list, enumerate)
controller (alias of: create-controller)
model (alias of: create-model)
all-models (alias of: create-all-models)
project (alias of: create-project)
scaffold
migration
webtools

生成项目框架(Generating a Project Skeleton)

我们能够使用Phalcon开发辅助工具生成预先定义的项目架构。 默认情况下,phalcon开发辅助工具会根据apache的mod_rewrite规则来生成程序的骨架. 要创建项目我们仅仅须要在我们的 webserver根文件夹下输入例如以下命令:

$ pwd

/Applications/MAMP/htdocs

$ phalcon create-project store

运行命令后会生成例如以下的文档结构的项目:


我们能够在命令上加 –help 以显示帮助信息(以下的帮助中的中文是翻译时加上去的):


Phalcon DevTools (1.2.3)

Help:
Creates a project 创建项目
Usage:
project [name] [type] [directory] [enable-webtools]
Arguments: 參数
help Shows this help text 显示此帮助信息
Example 样例
phalcon project store simple
选项:
--name 新项目的名字
--enable-webtools
  是否使用webtools开发辅助组件[可选]
--directory=s 在何处创建项目[可选]
--type=s 应用的种类(微型,简单,多模块,console等)
--template-path
  指定模板路径[可选]
--use-config-ini
  使用ini文件作为配置保存文件[可选]
--trace 出错时是否显示框架的trace信息[可选]
--help 显示帮助

訪问新生成项目的地址显演示样例如以下:

生成控制器(Generating Controllers)

我们能够使用phalcon create-controller –name test或phalcon controller –name test来生成名为test的控制器. 当然要使用此命令当前的运行命令文件夹必须为已存在的phalcon项目内.

$ phalcon create-controller --name test

上面的命令会生成例如以下代码:

<?php

class TestController extends Phalcon\Mvc\Controller
{ public function indexAction()
{ } }

数据库配置(Preparing Database Settings)

当我们使用phalcon的辅助开发工具生成项目时,则生成的配置信息会被放在 app/config/config.ini 文件内。

我们必需要正确的配置连接信息才可生成模型或主要的CRUD操作。 能够在config.ini中进行改动配置信息:

[database]
adapter = Mysql
host = "127.0.0.1"
username = "root"
password = "secret"
dbname = "store_db" [phalcon]
controllersDir = "../app/controllers/"
modelsDir = "../app/models/"
viewsDir = "../app/views/"
baseUri = "/store/"

生成模型(Generating Models)

使用phalcon开发辅助工具我们能够有若干种方式来生成模型。

我人能够有选择的生成若干个模型或是所有生成。

亦能够指定生成公有属性或是生成setter和getter方法。

Options:
--name=s 表名
--schema=s schema名[可选]
--namespace=s 模型命名空间[可选]
--get-set 设置字段訪问属性为私有 并加入setters/getters方法[可选]
--extends=s 指定扩展类名[可选]
--doc 辅助IDE的自己主动完毕功能[可选]
--directory=s 项目的根文件夹[可选]
--force 重写模型[可选]
--trace 出错时显示框架trace信息[可选]
--mapcolumn 生成字段映射的代码[可选]

最简单的生成模型的方式:

$ phalcon model products
$ phalcon model --name tablename

全部的字段设置为公有:

<?php

class Products extends \Phalcon\Mvc\Model
{ /**
* @var integer
*/
public $id; /**
* @var integer
*/
public $types_id; /**
* @var string
*/
public $name; /**
* @var string
*/
public $price; /**
* @var integer
*/
public $quantity; /**
* @var string
*/
public $status; }

我们能够在生成模型时指定 –get-set 參数以实现对字段的保护, 这样我们能够在setter/getter方法里运行一些业务逻辑。

<?php

class Products extends \Phalcon\Mvc\Model
{ /**
* @var integer
*/
protected $id; /**
* @var integer
*/
protected $types_id; /**
* @var string
*/
protected $name; /**
* @var string
*/
protected $price; /**
* @var integer
*/
protected $quantity; /**
* @var string
*/
protected $status; /**
* Method to set the value of field id
* @param integer $id
*/
public function setId($id)
{
$this->id = $id;
} /**
* Method to set the value of field types_id
* @param integer $types_id
*/
public function setTypesId($types_id)
{
$this->types_id = $types_id;
} ... /**
* Returns the value of field status
* @return string
*/
public function getStatus()
{
return $this->status;
} }

还有一个很好的特性即是在我们多次生成模型时,原有的对模型的更改依旧会存在。

这样我们就能够不用操心对模型的属性进行的改动会被后来再次运行的模型生成命令所覆盖。

以下的截图显示了这是怎样工作的:

生成主要的 CRUD(Scaffold a CRUD)

使用phalcon开发辅助工具我们能够直接高速的生成一个模型的CRUD操作。 假设我们想高速的生成模型的CRUD操作仅仅须要使用phalcon辅助开发工具的中scaffold命令就可以。

代码生成后,你能够依据自己的须要改动生成的代码。

非常多开发人员可能不会去使用这个功能。事实上这东西有时不是太好用,非常多时候开发人员往往会手动的书写相关代码。使用scaffold产生的代码能够 帮助我们理解框架是怎样工作的当然也能够帮助我们制作出高速原型来。

以下的截图展示了基于products表的scaffold:

$ phalcon scaffold --table-name test

scaffold生成器会在相关的目录中生成若干个文件。 以下是所生成文件的概览:

文件 作用
app/controllers/ProductsController.php Products控制器
app/models/Products.php Products模型
app/views/layout/products.phtml Products控制器布局
app/views/products/new.phtml View for the action “new”
app/views/products/edit.phtml View for the action “edit”
app/views/products/search.phtml View for the action “search”
app/views/products/edit.phtml View for the action “edit”

在生成的Products控制器中。我们能够看到一个搜索表单和一个生成新product的链接:


在创建页面我们能够生成经过验证的Products记录。 Phalcon会自己主动的验证数据库中的非空字段。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvUVpGWlo=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

运行搜索后,分页组件会显示分页后的结果。 我们在结果列表的前面放置Edit或Delete链接。以实现对应的操作。


工具的 Web 界面(Web Interface to Tools)

另外。假设喜欢我们还能够在生成项目时通过加入參数以实如今项目中使用Phalcon开发工具的web接口。

以下的视频中展示了怎样工作的:

集成工具到 PhpStorm(Integrating Tools with PhpStorm IDE)

以下的视频中展示了怎样在 PhpStorm IDE 中集成辅助开发工具。 这个配置步骤也适用于其他的PHP IDE.

结束语(Conclusion)

Phalcon开发辅助工具为我们提供了一种简易的产生应用代码的方法, 这能够降低开发时间及潜在的错误。

注:以上因为国内的网络问题 可能有部分信息无法正常显示

Phalcon 开发工具(Phalcon Developer Tools)的更多相关文章

  1. 使用Phalcon开发工具碰到的数据库问题"Table 'XXX' doesn't exist in database when dumping meta-data for XXX"

    使用Phalcon开发工具,通过命令行生成程序框架 设置好config.php,在对数据库进行读取.保存数据的时候出现了问题“Table 'XXX' doesn't exist in database ...

  2. Chrome的开发者工具(Chrome Developer Tools)

    Chrome的开发者工具(Chrome Developer Tools) 按F12 https://developer.chrome.com/devtools/index http://www.w3s ...

  3. phalcon开发工具(phalcon-devtools)

    一.简介 Phalcon提供的这个开发工具主要是用来辅助开发,比如生成一些程序的基本框架,生成控制器模型等.使用这个工具我们只需要一个简单的命令即可生成应用的基本框架. 二.下载 github: ht ...

  4. react 工程起步 安装chrome 开发调试工具 react developer tools 及初建一个react 项目...

    1.安装react 开发工具 1.下载    chrome      react developer tools 下载地址:https://pan.baidu.com/s/1eSZsXDC  下载好是 ...

  5. ARM 开发工具 Keil和DS-5的比较。

    http://www.eeboard.com/bbs/thread-25219-1-1.html 如今ARM体系架构的处理器在嵌入式市场上呼风唤雨,从低端的MCU应用到高端的多媒体消费电子,移动设备领 ...

  6. UI5-学习篇-1-Eclipse开发工具及环境搭建

    最近研究SAP-UI5好几个月了,将相关学习经历及问题点做个记录. 1.先了解学习资料相关站点 SAP官网:https://www.sap.com/china/index.html SAP开发工具:h ...

  7. 7. react 基础 - React Developer Tools 的安装 及 使用

    1. 安装 react 开发调试工具 React Developer Tools 打开 chrome 浏览器访问 chrome://extensions/ 点击右上角的 拓展程序 -> 打开 c ...

  8. Linux下安装Phalcon系统环境安装Phalcon 及 安装Phalcon Developer Tools

    一.安装Phalcon Phalcon 需要用的的PHP扩展函数有如下: curl gettext gd2 (to use the Phalcon\Image\Adapter\Gd class) li ...

  9. phalcon: Windows 下 Phalcon dev-tools 配置 和 Phpstorm中配置Phalcon 代码提示, phalcon tools的使用

    准备: phalcon-devtools包 下载地址: https://github.com/phalcon/phalcon-devtools 解压到wampserver的www目录 (xampp 用 ...

随机推荐

  1. QT_7_资源文件_对话框_QMessageBox_界面布局_常用控件

    资源文件 1.1. 将资源导入到项目下 1.2. 添加文件—>Qt -->Qt Resource File 1.3. 起名称 res ,生成res.qrc文件 1.4. 右键 open i ...

  2. Session/EntityManager is closed

    Hinbernate操作数据库必须要开启事务, 但是在添加事务的时候遇到这个问题也是郁闷, 说Session被关闭了, 而这个Session又是必须的. 关键是我并没有关闭, 也找不到是哪里被关闭了的 ...

  3. Cycloid Hydraulic Motor Use: Use Failure And Treatment

    The cycloidal hydraulic motor is a small low-speed, high-torque hydraulic motor with a shaft-distrib ...

  4. mysql的sql语句练习的2个网址

    sql语句练习: https://blog.csdn.net/mrbcy/article/details/68965271 完成. https://blog.csdn.net/flycat296/ar ...

  5. java面试微信交流群-欢迎你的加入

    Java后端技术专注Java相关技术:SSM.Spring全家桶.微服务.MySQL.MyCat.集群.分布式.中间件.Linux.网络.多线程,偶尔讲点运维Jenkins.Nexus.Docker. ...

  6. 条款13:以对象管理资源(use objects to manage resources)

    NOTE: 1.为防止资源泄漏,请使用RAII对象,它们在构造函数中获得资源并在析构函数中释放资源. 2.两个常被使用的RAII classes 分别是 trl::shared_ptr 和 auto_ ...

  7. Excel数据导入Sql Server出现Null(转)

    Excel文件: 序号 姓名 内部电话 住址 1 小李 1234 …… 2 小王 5678 …… 3 小张 2345(国内长途) …… …… …… …… …… 如上结构的Excel文件,用SQL Se ...

  8. Vim enhance part1

    NO1 .认识.命令 例 删除man.config中第1到30行的注释 1.光标移到#上,按下x删除 2.按下j将光标移到第二行#上,之后按下. 3.可以看到第2行的#也被删除了因为.就是重复上次命令 ...

  9. Java调用K3Cloud的密码加密算法实现登录密码检验

    背景: 最近要开始做K3Cloud移动,BOS平台的移动单据收费,就想单独做移动模块,搭建环境:后台SSH2,前端Android.在手机端登录时通过Ajax方式传递用户名和密码到后台校验,后台在去K3 ...

  10. NodeJS仿WebApi路由

    用过WebApi或Asp.net MVC的都知道微软的路由设计得非常好,十分方便,也十分灵活.虽然个人看来是有的太灵活了,team内的不同开发很容易使用不同的路由方式而显得有点混乱. 不过这不是重点, ...