Phalcon 开发工具(Phalcon Developer Tools)
Phalcon提供的这个开发工具主要是用来辅助开发,比如生成一些程序的基本框架,生成控制器模型等。使用这个工具我们只需要一个简单的命令即可生成应用的基本框架。
非常重要: 要使用这个工具我们必须要安装Phalcon 0.5版本以上的扩展才行。这里我们推荐使用PHP5.3.6或更高版本的PHP. 如果你喜欢使用web版而非console版本的程序,那么在这里 blog post 可以看到更多的内容。
下载(Download)¶
我们可以从 Github 上下载或克隆下来这个跨平台的开发辅助工具。
安装(Installation)¶
下面详尽的说明了如何在不同的操作系统平台上安装这个辅助开发工具:
- Windows 系统下使用 Phalcon 开发工具(Phalcon Developer Tools on Windows)
- Mac OS X 系统下使用 Phalcon 开发工具(Phalcon Developer Tools on Mac OS X)
- Linux 系统下使用 Phalcon 开发工具(Phalcon Developer Tools on Linux)
获取可用的命令(Getting Available Commands)¶
我们可以在虚拟控制台上输入如下命令:phalcon commands
$ phalcon commandsPhalcon 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)scaffoldmigrationwebtools
生成项目框架(Generating a Project Skeleton)¶
我们可以使用Phalcon开发辅助工具生成预先定义的项目架构。 默认情况下,phalcon开发辅助工具会依据apache的mod_rewrite规则来生成程序的骨架. 要创建项目我们只需要在我们的 web服务器根目录下输入如下命令:
$ 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
上面的命令会生成如下代码:
<?phpclass 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
所有的字段设置为公有:
<?phpclass 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方法里执行一些业务逻辑。
<?phpclass 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会自动的验证数据库中的非空字段。
执行搜索后,分页组件会显示分页后的结果。 我们在结果列表的前面放置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)相关推荐
- Chrome 开发工具 (Chrome Developer Tools):Network Panel说明
出处:http://www.cnblogs.com/starof/p/5443445.html 官方资料:Chrome Developer Tools: Network Panel 一.chrome ...
- android底层开发工具,Android Developer Tools(开发人员工具)
在做Android开发的过程中,不可避免地需要使用到自带的android developer tools(开发人员工具),这是一个强大的开发辅助工具,随着android版本的更新,developer ...
- Dynamics CRM2013 自定义开发工具 Dynamics XRM Tools 介绍
2. Dynamics XRM Tools 这个工具我最常用的就是用来生成OData的URL,不用我去记忆OData的语法.当然还有其他功能.下载地址是 http://dynamicsxrmtools ...
- 前端(移动端)开发利器Chrome Developer Tools秘籍(下)
之前有分享到我们可以通过 Command Line API 来提高我们的开发效率.除此之外,还有一些比较有趣的快捷键和调试方法,也能帮助提高大家的生产效率. 几个小事项: 1.文中提到的快捷键 com ...
- GNU 开发工具(GNU Development Tools)
全称 gdb - GNU 调试器 概要 gdb [-help] [-nh] [-nx] [-q] [-batch] [-cd=dir] [-f] [-b bps] [-tty=dev] [-s sym ...
- chrome 开发工具_我最喜欢的Chrome开发工具提示和技巧
chrome 开发工具 Chrome Developer Tools are a super powerful suite of tools for developing web applicatio ...
- ARM开发工具历史及分类详解 (最详尽的区分和介绍ARM DS-5,RVD...
如今ARM体系架构的处理器在嵌入式市场上呼风唤雨,从低端的MCU应用到高端的多媒体消费电子,移动设备领域,工业控制,医疗设备,汽车电子等,到处是ARM架构处理器大军的身影. ARM开发工具就是ARM公 ...
- Perl语言开发工具(持续整理)
Perl开发环境搭建:解释器+编辑器+调试工具 如: Strawberry Perl(解释)+Padre(编辑+调试) 如: ActivePerl(解释) + VIM(编辑)+Pe ...
- phalcon index.php,Phalcon环境搭建与项目开发
简介 Phalcon 是开源.全功能栈.使用 C 扩展编写.针对高性能优化的 PHP 5 框架. 开发者不需要学习和使用 C 语言的功能, 因为所有的功能都以 PHP 类的方式暴露出来,可以直接使用. ...
最新文章
- EPANET头文件解读系列7——MEMPOOL.H
- 前台html调用函数 格式化输出
- db2 两个结构相同的表_从两个工作表提取数据记录,并显示相同记录的报告
- 2019年6月19日Jerry Wang的SAP SAP Cloud Connector练习
- 云漫圈 | 寻找无序数组的第k大元素
- 程序员心声:我为什么偏爱苹果电脑和Mac OS X
- Python标准库random用法精要
- ofdma技术_数字化领航 | Wi-Fi 6 关键技术剖析
- 大数据中mapreduce的核心,shuffle的理解,以及在shuffle中的优化问题
- 总结:常用的 Python 爬虫技巧
- python编写linux巡检脚本_python结合shell脚本实现简单的日常集中巡检
- 怎么同时连接内外网?
- 小程序图片src本地服务器路径,微信小程序 图片加载(本地,网路)实例详解...
- 计算机基础注电考试用书,注册电气工程师考试试题:计算机基础知识
- 破产案或加速唯冠与苹果和解
- EOF in header-net core
- 845透色android10,和平精英TCA845透色
- python音频降噪处理_Python | 简单的扩音,音频去噪,静音剪切
- plotly入门(vue项目中)
- 据挖掘中所需的概率论与数理统计知识