phalcon: Windows 下 Phalcon dev-tools 配置 和 Phpstorm中配置Phalcon 代码提示, phalcon tools的使用
准备: phalcon-devtools包 下载地址: https://github.com/phalcon/phalcon-devtools
解压到wampserver的www目录 (xampp 用户 应该是 htdocs 文件夹 ) <phalcon-devtools 包 多层文件夹 ,建议全部放在phalcon-tools文件夹>
配置环境变量
<设置php文件夹路径(我的php是在D盘的) 和 自己创建的phalcon-tools文件夹路径(我的是D盘www文件夹)>运行CMD
<切换到wamp/www 新建 phalcon 项目>
<此时已经可以看到完整的项目,框架的结构已经建立>
用phpstorm 打开 phalcon 项目 , 进行相关设置
点击 + 号图标新建命令行工具
选择phalcon-tools目录
选择Phpstorm中 Tools 菜单 点击运行命令
输入 phalcon controller --name test ,新建controller
命令输入完毕,可见项目中 controller 文件夹中多个 TestController.php
接下来配置,phpstorm 中 phalcon 代码提示 ,右击 phpstorm 左侧 目录结构最后一项 External Libraries ,选择 Configure... 这一项
点击 + 号 , 选择 Special Other...
选择放置的phalcon-tools文件夹中 /ide/最新版本号/Phalcon
到此为止,所有配置已经完毕,尽情享受吧
然后结合文档例子实际应用:
http://phalcon.ipanta.com/1.3/tools.html#download
我们可以使用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
- Options: 选项
-
--name Name of the new project 新项目的名字 --enable-webtools Determines if webtools should be enabled [optional] 此选项决定了新的项目中是否使用webtools开发辅助组件 --directory=s Base path on which project will be created [optional] 在何外创建项目 --type=s Type of the application to be generated (micro, simple, modules, cli) 应用的种类(微型,简单,多模块,console等) --template-path Specify a template path [optional] 指定模板路径 --use-config-ini Use a ini file as configuration file [optional] 使用ini文件作为配置保存文件 --trace Shows the trace of the framework in case of exception. [optional] 出错时是否显示框架的trace信息 --help Shows this 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 Table name 表名 --schema=s Name of the schema. [optional] schema名 --namespace=s Model’s namespace [optional] 模型命名空间 --get-set Attributes will be protected and have setters/getters. [optional] 设置字段访问属性为私有 并添加setters/getters方法 --extends=s Model extends the class name supplied [optional] 指定扩展类名 --doc Helps to improve code completion on IDEs [optional] 辅助IDE的自动完成功能 --directory=s Base path on which project will be created [optional] 项目的根目录 --force Rewrite the model. [optional] 重写模型 --trace Shows the trace of the framework in case of exception. [optional] 出错时显示框架trace信息 --mapcolumn Get some code for map columns. [optional] 生成字映射的代码
最简单的生成模型的方式:
$ 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生成器会在相关的文件夹中生成若干个文档。 下面是所生成文件的概览:
在生成的Products控制器中,我们可以看到一个搜索表单和一个生成新product的链接:

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

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

phalcon: Windows 下 Phalcon dev-tools 配置 和 Phpstorm中配置Phalcon 代码提示, phalcon tools的使用的更多相关文章
- Windows下IIS+PHP 5.2的安装与配置
Windows下IIS+PHP 5.2的安装与配置 Windows下PHP的安装虽然简单,但如果不注意方法,仍然会让你头疼.此外,PHP 5.2版本与之前4.x版本也有一些不同,所以有必要记录一下 ...
- Windows下的Python安装与环境变量的配置
Windows下的Python安装与环境变量的配置 第一步:python下载: Python安装包下载地址:http://www.python.org/ 第二步:python安装: 双击下载包,进入P ...
- Windows下基于IIS服务的SSL服务器的配置
Windows下基于IIS服务的SSL服务器的配置 实验环境 Windows Server 2008 R1(CA) Windows Server 2008 R2(web服务器) Windows 7 x ...
- 在Windows下使用BAT调度存储在资源库中的KTR
描述: 在Windows下使用BAT调度存储在资源库中的KTR 准备环境: 1.ktr文件(该KTR必须是存储在资源管库中的) 2.bat文件 @echo off D: cd D:\software\ ...
- 不用rustup,Windows下gnu版Rust安装与开发环境配置
写在前面 本文介绍了在不使用rustup的情况下,在Windows上安装gnu版的Rust,并配置开发环境(VSCode + rust-analyzer,CLion + IntelliJ Rust)的 ...
- windows下Qt5.4.2 for android开发环境配置
安装包链接: http://yunpan.cn/cFs5tikVA83hK 访问密码 d029 本人所有的软件都安装在D:/Qt 1. 安装 Qt 5.4.2 不在讲述 2, 安装p ...
- windows下mysql表名不自动转换小写配置
mysql5.6版本配置文件有两个 1.默认的配置在program files/MySQL/MySQL Server 5.6/my-default.ini 2.一个在programData/MySQL ...
- vim 编辑 windows下的文本时出现乱码, 修改配置后 已解决
最近用VIM 查看一个 WINDOWS下的文本,打开以后发现出现乱码,具体如上图. 最后在网上找到了一个解决方法: 原文地址: https://www.zhihu.com/question/22363 ...
- windows下操作linux虚拟机映射网络驱动器中文件提示chmod权限不足解决方案
为了方便操作,linux虚拟机会通过windows下连接网络驱动器的方式共享自己的文件,对于前端来说,我想把gulp放在windows磁盘,操作虚拟机中的php文件,一来节省虚拟机磁盘大小,二来解决虚 ...
随机推荐
- HashMap原理详解
HashMap 概述 HashMap 是基于哈希表的 Map 接口的非同步实现.此实现提供所有可选的映射操作,并允许使用 null 值和 null 键.此类不保证映射的顺序,特别是它不保证该顺序恒久不 ...
- 如何借助浏览器Console使用Js进行定位和操作元素
在进行Selenium自动化过程中,我们很难避免一些webdriver 很难定位到的一些元素(如:默认隐藏属性元素),那对于一些比较难定位到的元素,有什么好的解决办法? 其实我们都知道,Sel ...
- 2016-2017 CT S03E05: Codeforces Trainings Season 3 Episode 5 (2016 Stanford Local Programming Contest, Extended) B
链接:http://codeforces.com/gym/101116 学弟做的,以后再补 #include <iostream> #include <stdio.h> #in ...
- 六、IO流——文件
IO流1.字节流(InputStream.OutputStream)2.字符流 (Reader.Writer)3.缓冲流(BufferedInputStream.BufferedOutputStrea ...
- reason: -[UIKBBlurredKeyView candidateList]: unrecognized selector sent to instance
reason: -[UIKBBlurredKeyView candidateList]: unrecognized selector sent to instance 发现上线的app一直会有这个cr ...
- Cheatsheet: 2013 12.01 ~ 12.16
Mobile Performance Tuning On Android Interoperation Issues in Mixed C/C++/Objective-C Development We ...
- 如何查看PowerShell版本
Click Start, click All Programs, click Accessories, click Windows PowerShell, and then click Windows ...
- 面向对象--类库、委托、is和as运算符、泛型集合
类库: 其实就是一堆类文件,只是看不到这些类的源代码,保密性好. 优点:保密性好 缺点:如果这个方法不好用,使用者无法自己去更改它. 给的大多是dll文件.使用方法:引用右键,添加引用,浏览,选择到相 ...
- SQL疑难杂症【2】解决SQL订阅过程中找不到已经创建的订阅
之前有写过一篇博客,主要是图解SQL复制技术:图解SQL 2008数据库复制,当时的测试环境是在我本地同一个服务器上面,所以测试的时候可谓是一帆风顺,最近公司要做一个数据同步的事物,所以再次在不同的服 ...
- So easy Webservice 7.CXF 发布WebService
(一)使用ServerFactoryBean 方式实现发布WS服务 1.新建项目,添加cxf jar包到项目中 2.编写服务实现类 /** * CXF WebService * 不用注解 * @aut ...