- 浏览: 803974 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
xieye:
jetty插件有好几个版本,1.6,1.7,1.8
我选的是用 ...
tapestry入门(翻译)3 导入项目到eclipse -
xieye:
还有,
注:第2部分时,需要先安装jetty,我自己在安装过程 ...
tapestry入门(翻译)3 导入项目到eclipse -
xieye:
说明一下:实际使用中,导入时我并没有错误。2、我把eclips ...
tapestry入门(翻译)3 导入项目到eclipse -
xieye:
其实还是有一些先决条件的。1是外部环境,2是进步是阶段性的(意 ...
(转载文章)如何愉悦起来:一位精神治疗师的见解 -
mandy_yanzi:
我都已经饿7天了坚持为了我的衣衣
身体健康的问题
整理了一下phalcon的db使用,写了个demo。
$connection=$this->getDI()->get('db'); // 特别注意,此表名必须自己手动添加表前缀,也就是这里写完整表名!! // 注意点2,这里返回一般都是数组。 echo "<h1>循环打印,query,然后fetch,此时也能直接得到所有行数。</h1>"; echo <<<html <pre> \$connection=\$this->getDI()->get('db'); \$sql = 'SELECT id, name FROM temp ORDER BY name limit 10 '; // 将SQL语句发送到数据库系统 \$result = \$connection->query(\$sql); // 打印每个 robot name while (\$robot = \$result->fetch()) { echo \$robot['name']; } echo ",总记录数". \$result->numRows() ; </pre> html; $sql = 'SELECT id, name FROM temp ORDER BY name limit 10 '; // 将SQL语句发送到数据库系统 $result = $connection->query($sql); while ($robot = $result->fetch()) { echo $robot['name']; } echo ",总记录数". $result->numRows() ; echo "<hr>"; // 获取数组中的所有行 echo "<h1>直接获取所有行,最简单直白一步到位,fetchAll方法</h1>"; echo <<<html <pre> \$sql = 'SELECT id, name FROM temp ORDER BY name limit 10 '; \$robots = \$connection->fetchAll(\$sql); foreach (\$robots as \$robot) { echo \$robot['name']; } </pre> html; $robots = $connection->fetchAll($sql); foreach ($robots as $robot) { echo $robot['name']; } echo "<hr>"; // 只获得第一行 echo "<h1>直接获取第一行,fetchOne方法</h1>"; echo <<<html <pre> \$sql = 'SELECT id, name FROM temp ORDER BY name limit 10 '; \$robot = \$connection->fetchOne(\$sql); echo \$robot['name']; </pre> html; $robot = $connection->fetchOne($sql); echo $robot['name']; echo "<hr>"; echo "<h1>select查询,占位符第一种,纯问号,最最简单</h1>"; echo <<<html <pre> \$sql = 'SELECT * FROM temp WHERE name = ? ORDER BY name'; \$result = \$connection->query( \$sql, [ 'x11', ] ); echo "总记录数". \$result->numRows(); </pre> html; $sql = 'SELECT * FROM temp WHERE name = ? ORDER BY name'; $result = $connection->query( $sql, [ 'x11', ] ); echo "总记录数". $result->numRows(); echo "<hr>"; // 与命名占位符绑定 echo "<h1>insert 插入,占位符第2种,命名符号,注意insert 也可以直接问号占位符</h1>"; echo <<<html <pre> \$sql = 'INSERT INTO temp(name, year) VALUES (:name, :year)'; \$name = 'Astro Boy'.time(); \$success = \$connection->query( \$sql, [ 'name' => \$name, 'year' => 1952, ] ); </pre> html; $sql = 'INSERT INTO temp(name, year) VALUES (:name, :year)'; $name = 'Astro Boy'.time(); $success = $connection->query( $sql, [ 'name' => $name, 'year' => 1952, ] ); $sql = 'SELECT * FROM temp WHERE name = ? ORDER BY name'; $result = $connection->query( $sql, [ $name, ] ); echo "总记录数". $result->numRows(); echo "<hr><hr><hr><hr><hr><hr><br><br><br><br><br><br><br><br><br>"; // 开始使用 modelsManager 组件 echo "<h1>select,开始使用 modelsManager 组件,和phql,和toArray方法</h1>"; echo <<<html <pre> \$phql = "SELECT * FROM Apps\Models\Entities\Temp WHERE id < :id:"; \$robots = \$this->modelsManager->executeQuery(\$phql, ['id' => 3]); var_dump(\$robots->toArray()); </pre> html; $phql = "SELECT * FROM Apps\Models\Entities\Temp WHERE id < :id:"; $robots = $this->modelsManager->executeQuery($phql, ['id' =>3]); var_dump($robots->toArray()); echo "<hr>"; // try { // $phql2 = "SELECT * FROM Apps\Models\Entities\Temp LIMIT :number:"; // $robots = $this->modelsManager->executeQuery( // $phql2, // ['number' => 10], // Column::BIND_PARAM_INT // ); // var_dump( $robots->toArray() ); // }catch (\Exception $e){ // echo $e->getMessage(); // } echo "<h1>select,开始使用 phalcon 专用带变量占位符,有坑,占位符number2:int不能相同。</h1>"; echo <<<html <pre> \$phql = "SELECT * FROM Apps\Models\Entities\Temp LIMIT {number:int}"; \$robots = \$this->modelsManager->executeQuery( \$phql, ['number' => 2] ); var_dump(\$robots->toArray()); \$phql = "SELECT * FROM Apps\Models\Entities\Temp WHERE name = {name:str}"; \$robots = \$this->modelsManager->executeQuery( \$phql, ['name' => 'x11'] ); var_dump(\$robots->toArray()); \$phql = "SELECT * FROM Apps\Models\Entities\Temp LIMIT {number2:int}"; \$robots = \$this->modelsManager->executeQuery( \$phql, ['number2' => 2] ); var_dump(\$robots->toArray()); \$phql = "SELECT * FROM Apps\Models\Entities\Temp WHERE name = {name}"; \$robots = \$this->modelsManager->executeQuery( \$phql, ['name' => 'x113'] ); var_dump(\$robots->toArray()); \$phql = "SELECT * FROM Apps\Models\Entities\Temp WHERE id IN ({id:array})"; \$robots = \$this->modelsManager->executeQuery( \$phql, ['id' => [1, 2, 3]] ); var_dump(\$robots->toArray()); </pre> html; $phql = "SELECT * FROM Apps\Models\Entities\Temp LIMIT {number:int}"; $robots = $this->modelsManager->executeQuery( $phql, ['number' => 2] ); var_dump($robots->toArray()); echo "<hr>"; $phql = "SELECT * FROM Apps\Models\Entities\Temp WHERE name = {name:str}"; $robots = $this->modelsManager->executeQuery( $phql, ['name' => 'x11'] ); var_dump($robots->toArray()); echo "<hr>"; //dd(555); $phql = "SELECT * FROM Apps\Models\Entities\Temp LIMIT {number2:int}"; $robots = $this->modelsManager->executeQuery( $phql, ['number2' => 2] ); var_dump($robots->toArray()); echo "<hr>"; $phql = "SELECT * FROM Apps\Models\Entities\Temp WHERE name = {name}"; $robots = $this->modelsManager->executeQuery( $phql, ['name' => 'x113'] ); var_dump($robots->toArray()); echo "<hr>"; $phql = "SELECT * FROM Apps\Models\Entities\Temp WHERE id IN ({id:array})"; $robots = $this->modelsManager->executeQuery( $phql, ['id' => [1, 2, 3]] ); var_dump($robots->toArray()); echo "<hr>"; echo "<h1>insert,专用函数插入数据,原始表名,动态生成必要的SQL(另一种语法)</h1>"; echo <<<html <pre> // 方法:excute \$sql = 'INSERT INTO `robots`(`name`, `year`) VALUES (?, ?)'; \$success = \$connection->execute( \$sql, [ 'Astro Boy', 1952, ] ); // 动态生成必要的SQL,方法 insert \$success = \$connection->insert( 'robots', [ 'Astro Boy', 1952, ], [ 'name', 'year', ], ); // 方法:insertAsDict \$name = 'Astro Boy11'.time(); \$success = \$connection->insertAsDict( 'temp', [ 'name' => \$name, 'year' => 1952, ] ); </pre> html; $name = 'Astro Boy11'.time(); $success = $connection->insertAsDict( 'temp', [ 'name' => $name, 'year' => 1952, ] ); $sql = 'SELECT * FROM temp WHERE name = ? ORDER BY name'; $result = $connection->query( $sql, [ $name, ] ); echo "总记录数". $result->numRows(); echo "<hr>"; echo "<h1>update,原始更新,方法 execute</h1>"; echo <<<html <pre> \$sql = 'UPDATE temp SET `name` = 'Astro boy' WHERE `id` = 1'; \$success = \$connection->execute(\$sql); echo '有\$success被更新'; </pre> html; $sql = "UPDATE temp SET `name` = 'Astro boy' WHERE `id` = 1"; $success = $connection->execute($sql); echo "有{$success}被更新"; echo "<hr>"; echo "<h1>update,占位符原始更新,方法 execute</h1>"; echo <<<html <pre> \$sql = 'UPDATE temp SET name = ? WHERE id = ?'; \$success = \$connection->execute( \$sql, [ 'Astro Boy'.time(), 1, ] ); </pre> html; $sql = 'UPDATE temp SET name = ? WHERE id = ?'; $success = $connection->execute( $sql, [ 'Astro Boy'.time(), 1, ] ); echo "有{$success}被更新"; echo "<hr>"; echo "<h1>update,专用函数方法 updateAsDict, 更新数据,原始表名,动态生成必要的SQL(另一种语法)</h1>"; echo <<<html <pre> \$success = \$connection->updateAsDict( 'temp', [ 'name' => 'New Astro Boy'.time(), ], [ 'conditions' => 'id = ?', 'bind' => [101], 'bindTypes' => [\\PDO::PARAM_INT], // Optional parameter ] ); </pre> html; $success = $connection->updateAsDict( 'temp', [ 'name' => 'New Astro Boy'.time(), ], [ 'conditions' => 'id = ?', 'bind' => [101], 'bindTypes' => [\PDO::PARAM_INT], // Optional parameter,可选,这行去掉也行。 ] ); echo "有{$success}被更新"; echo "<hr>"; echo <<<html <pre> // 使用原始SQL语句删除数据,方法 execute \$sql = 'DELETE `robots` WHERE `id` = 101'; \$success = \$connection->execute(\$sql); // 占位符 \$sql = 'DELETE `robots` WHERE `id` = ?'; \$success = \$connection->execute(\$sql, [101]); // 动态生成必要的SQL,方法 delete \$success = \$connection->delete( 'robots', 'id = ?', [ 101, ] ); </pre> html; echo "<hr>"; echo "<h1>学习phql,方法先createQuery,再 execute</h1>"; $query = $this->modelsManager->createQuery('SELECT * FROM '.Cars::class); // $query = $this->modelsManager->createQuery('SELECT * FROM '.Cars::class); $cars = $query->execute(); var_dump($cars->toArray()); echo "<h1>学习phql,方法 直接executeQuery</h1>"; $cars = $this->modelsManager->executeQuery('SELECT * FROM Apps\Models\Entities\Brands'); var_dump($cars->toArray()); echo "<h1>学习phql,方法 带绑定参数</h1>"; $query = $this->modelsManager ->createQuery('SELECT * FROM Apps\Models\Entities\Brands where name= :name: '); $cars = $query->execute(['name'=>'宝马']); var_dump($cars->toArray()); echo "<h1>学习phql,方法 直接执行,带绑定参数</h1>"; $cars = $this->modelsManager ->executeQuery('SELECT * FROM Apps\Models\Entities\Brands where name= :name: ',['name'=>'宝马']); var_dump($cars->toArray()); echo "<h1>学习phql,方法 不查整个对象,查标量</h1>"; $cars = $this->modelsManager->executeQuery( 'SELECT b.name FROM Apps\Models\Entities\Brands as b ORDER BY b.name' ,['name'=>'宝马'] ); var_dump($cars->toArray()); echo "<h1>学习phql,查询标量和对象混合体</h1>"; $phql = 'SELECT c.price*0.1 AS taxes, c.* FROM Apps\Models\Entities\Cars AS c ORDER BY c.name'; $cars = $this->modelsManager->executeQuery($phql); foreach($cars as $v){ echo "汽车名称:".$v->c->name.", 价格修正". $v->taxes."<br>"; } echo "<h1>学习phql,使用外连接</h1>"; $manager = $this->modelsManager; $phql = 'SELECT c.*, b.* FROM Apps\Models\Entities\Cars as c LEFT JOIN Apps\Models\Entities\Brands as b'; $cars = $manager->executeQuery($phql); foreach($cars as $v){ echo "汽车名称:".$v->c->name.", 品牌名称". $v->b->name."<br>"; } // 也可以手动设置 on 的条件。 $phql = 'SELECT Cars.*, Brands.* FROM Cars INNER JOIN Brands ON Brands.id = Cars.brands_id'; //$rows = $manager->executeQuery($phql); echo "<h1>使用聚合</h1>"; // 所有车的价格是多少? $phql = 'SELECT SUM(price) AS summatory FROM Apps\Models\Entities\Cars'; $row = $manager->executeQuery($phql)->getFirst(); echo $row['summatory']; echo "<h1>使用每个品牌有多少辆汽车,group by</h1>"; // 每个品牌有多少辆汽车? $phql = 'SELECT b.name, COUNT(*) as count FROM Apps\Models\Entities\Cars as c left join Apps\Models\Entities\Brands as b on b.id = c.brand_id GROUP BY b.name'; $rows = $manager->executeQuery($phql); foreach ($rows as $row) { echo $row->name,'有', $row->count, "<br>"; } echo "<h1>使用phal的批量更新,将触发事件,确认更新失败将全部失败。</h1>"; $phql ="update Apps\Models\Entities\Cars SET price=5"; $result = $manager->executeQuery($phql); if ($result->success() === false) { $messages = $result->getMessages(); foreach ($messages as $message) { echo $message->getMessage()."<br>"; } } echo "<h1>使用查询生成器,查全部</h1>"; $robots = $this->modelsManager->createBuilder() ->from('Apps\Models\Entities\Cars') ->join('Apps\Models\Entities\Brands') ->orderBy('Apps\Models\Entities\Cars.id') ->limit(2, 0) ->getQuery() ->execute(); var_dump($robots->toArray()); echo "<h1>使用查询生成器,查一行</h1>"; $robots = $this->modelsManager->createBuilder() ->from('Apps\Models\Entities\Cars') ->join('Apps\Models\Entities\Brands') ->orderBy('Apps\Models\Entities\Brands.name') ->getQuery() ->getSingleResult(); var_dump($robots->toArray()); echo "<h1>使用查询生成器,模拟实际后台带条件查询,占位符使用,在条件中由php拼接。</h1>"; $builder = $this->modelsManager->createBuilder(); $builder->from('Apps\Models\Entities\Cars') ->where('style = :style:', ['style' => 'style2']); $result = $builder->getQuery()->execute(); var_dump($result->toArray()); echo "<h1>使用查询生成器,模拟实际后台带条件查询,占位符使用,在查询中,由mysql拼接</h1>"; $builder = $this->modelsManager->createBuilder(); $builder->from('Apps\Models\Entities\Cars') ->where('style = :style:'); $result = $builder->getQuery()->execute(['style' => 'style2']); var_dump($result->toArray()); echo "<h1>转义保留字</h1>"; $phql = 'SELECT id, [Like] FROM Posts'; echo "<h1>分页实现</h1>"; $builder = $this->modelsManager->createBuilder() ->from('Apps\Models\Entities\Cars') ->orderBy('name'); $options = [ 'builder' => $builder, 'limit' => 2, 'page' => 1, 'adapter' => 'queryBuilder', ]; $paginator = Factory::load($options); $page = $paginator->getPaginate(); var_dump($page->items->toArray()); echo "总共".$page->total_pages. '条记录<br>'; echo "总共".$page->total_items. '页<br>'; // 指定表名 // public function initialize() // { // $this->setSource('toys_robot_parts'); // } // onConstruct()方法 // 模型新增 // $robot = new Robots(); // // $result = $robot->create( // [ // 'type' => 'mechanical', // 'name' => 'Astro Boy', // 'year' => 1952, // ] // ); // if $result===false; // 模型更新 // $result = $robot->update( // [ // 'type' => 'mechanical', // 'name' => 'Astro Boy', // 'year' => 1952, // ] // ); // if $result ===false; // findFirst标准写法。 // $robot = Robots::findFirst(11); // // if ($robot !== false) { // 新增记录,后,用如下方法获得主键 // $robot->save(); // // echo 'The generated id is: ', $robot->id; // 另外,模型类,可以单独设置主键字段名称! // 必须设置此方法。 //$this->useDynamicUpdate(true); // $this->setSchema('toys'); // 模型可以映射到不同的库名。 //关系中,使用魔术方法get是有好处的!!原因是可以 直接加条件再过滤!! // 定义关系时,竟然可以直接定义过滤条件!! // 定义关系时,可以设置成强制检查!!。这样比较好哎。 // 模型关系批量处理,方便阿! // $robots->getParts()->update( // [ // 'stock' => 100, // 'updated_at' => time(), // ] // ); // $result = $manager->executeQuery($phql); // CREATE TABLE cars ( // id int(11) NOT NULL AUTO_INCREMENT, // name varchar(191) DEFAULT '' COMMENT '1', // brand_id int not null default 0 comment '品牌id', // price decimal(10,2) not null default 0 comment 'price', // year int not null default 0 comment '2', // style varchar(191) not null default '' comment '3', // type varchar(191) not null default '' comment '4', // PRIMARY KEY (id), // index brand_id(brand_id), // index type(type), // index style(style) //) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='测试用表' // insert into cars(name,brand_id, price,year,style,type)values( // 'ao1',1,10000,1974,'style1','style1' // ); //insert into cars(name,brand_id, price,year,style,type)values( // 'ao2',1,20000,1974,'style2','style2' // ); //insert into cars(name,brand_id, price,year,style,type)values( // 'b1',1,30000,2000,'style3','style3' // ); //insert into cars(name,brand_id, price,year,style,type)values( // 'b2',1,40000,3000,'style4','style4' // );
发表评论
-
召唤神龙 - 安装 centos 8, php 8, mysql 8, laravel 8 的整套 php 运行环境
2020-11-27 16:26 552本文编写时间:2020-11-27 传说集齐龙珠可以召唤神 ... -
centos8 使用阿里镜像快速安装php7.4套件
2020-11-15 00:48 662centos8 使用阿里镜像快速安装php7.4套件 本文只 ... -
centos7 使用阿里镜像快速安装php7.4套件
2020-11-15 00:32 1000本文只考虑centos7 今日 2020-11-16 rem ... -
composer常用命令
2020-11-05 14:46 1003列出当前全局配置 composer config -l -g ... -
期待centos8+php8 + mysql8 + laravel8,8888
2020-10-29 19:24 379期待centos8+php8 + mysql8 目前主要使用 ... -
ubuntu 安装 php7.4以及各类插件
2020-10-24 13:20 894ubuntu 安装 php7.4以及各类插件 安装系统 最近 ... -
宝塔定义站点
2020-02-24 10:41 2宝塔定义站点。 1111111111111111111111 ... -
让php-fpm以root账号运行
2020-02-19 21:41 691一般来说,我们没有这种需求,但是当需要时, 可以让php-fp ... -
将代码部署到coding.net
2020-01-10 14:20 538coding.net 是一个git仓库,有免费有收费。 首先 ... -
php部署工具deployer技巧 - vendor目录创建
2020-01-06 12:06 803deployer是个好东西,可是每次都composer ,其实 ... -
自定义redis多个实例
2020-01-04 01:17 577假如多个项目部署到同一台服务器,有时会被redis的各项目前缀 ... -
推荐使用php的部署工具 deployer
2020-01-03 16:48 805php部署代码可以使用 https://deployer.or ... -
使用composer 类库 cachetool 清除opcache 的缓存
2020-01-03 16:38 876php的生产服务器上,需要把opche打开。 但有时,会被缓 ... -
laravel容器学习体会
2019-12-31 15:11 566根据文档与实测结果 假设我在app下建一个Services目 ... -
phalcon 自定义超强日志类
2019-12-18 10:00 759phalcon自带的日志文件类,有两个麻烦之处。 1、路径不能 ... -
自定义后台的使用
2019-12-18 05:22 361如果自己写后台,保存用户的表单请求值 所有的情况如下: 1 ... -
phalcon 自定义事件使用的多种方式
2019-12-16 20:43 710方法1:官方文档的方式。 这是控制器: public ... -
phalcon对控制器返回值的使用以输出json
2019-12-16 19:17 728在phalcon里,控制器的Action的方法的返回值没啥用。 ... -
php-redis5.0降级成php-redis4.3
2019-08-22 00:01 833最新版本的php的redis插件,版本是5.0 但是可能会有 ... -
aes加密解密php和java互通代码
2019-08-20 20:19 1079代码主要来源如下,但是注意做了修改: https://gist ...
相关推荐
Phalcon PHP框架MSSQL pdo db适配器。 要求 : - Phalcon >= 1.2.0 and <=1.3.x 安装说明 : 将“ test / app / library / db”文件夹复制到您的库文件夹中 将名称空间添加到“文件夹路径”设置-//注册一些...
PhalconPHP 是一个使用 C 扩展开发的 PHP Web 框架,提供高性能和低资源占用。 Phalcon 是一个开源的、全堆栈的 PHP 5 框架,使用 C 扩展...Phalcon 1.x还没完全迁移到Phalcon 2.0,比如目前数据库只支持MySQL。
phalcon框架的基本使用方法 phpunit测试框架的安装和测试
Phalcon 也是松耦合的,可以根据项目的需要任意使用其他对象。Phalcon 不只是为了卓越的性能, 我们的目标是让它更加健壮,拥有更加丰富的功能以及更加简单易于使用!基于Phalcon框架1.3版本开发,继承优化了DI(多...
在使用phalcon的insert和update功能时,因为数据库所有的字段设置的都是NOT NULL,而phalcon的model在插入或更新之前会自动判断字段是否需要必填,因此导致有空字段时无法存入。 开始遇到这问题时,想到两种解决方法...
Phalcon 是开源、全功能栈、使用 C 扩展编写、针对高性能优化的 PHP 5 框架。 开发者不需要学习和使用 C 语言的功能, 因为所有的功能都以 PHP 类的方式暴露出来,可以直接使用。 其中模型是我们开发中常用的,可...
phalcon开发工具 phalcon-tools
Phalcon是一个开放源码的、全堆栈的PHP5框架,使用C扩展编写,专门为高性能优化,无需使用C语言,所有函数都以PHP类的方式。PhalconPHP 3.4.0 更新日志:2018-05-28添加Phalcon\Mvc\Router::attach直接将路由对象...
网站上取下来,转换成chm,3.1.1文档版本,... Phalcon 也是松耦合的,可以根据项目的需要任意使用其他对象。 Phalcon 不只是为了卓越的性能, 我们的目标是让它更加健壮,拥有更加丰富的功能以及更加简单易于使用!
在Phalcon框架中,通过在DI中注入db参数来实现数据库的连接和配置,基本的配置方法如下: use PhalconDbAdapterPdoMysql as DbAdapter; $di->set('db', function () { return new DbAdapter(array( ...
Phalcon 也是松耦合的,可以根据项目的需要任意使用其他对象。Phalcon 不只是为了卓越的性能, 我们的目标是让它更加健壮,拥有更加丰富的功能以及更加简单易于使用!基于Phalcon框架1.3版本开发,继承优化了DI(多...
Phalcon 是什么?¶ Phalcon 是开源、全功能... Phalcon 也是松耦合的,可以根据项目的需要任意使用其他对象。 Phalcon 不只是为了卓越的性能, 我们的目标是让它更加健壮,拥有更加丰富的功能以及更加简单易于使用!
phalcon 中文文档 全中文手册 网页格式 放在环境中 或直接打开查看
Phalcon 3.0.0 中文文档 Phalcon 3.0.0 中文文档 Phalcon 3.0.0 中文文档
Phalcon 也是松耦合的,可以根据项目的需要任意使用其他对象。 Phalcon7 (高性能 PHP 7框架) v1.2.3更新日志 该版本修复了 Model、Security 和 Request 中的 BUG。 新增了 `PhalconIntrusiveAvltree` 类 ...
Phalcon is optimized for high performance. Its unique architecture allows the framework to always be memory resident, offering its functionality whenever its needed, without expensive file stats and ...
PHP实例开发源码—Phalcon PHP开发框架.zip PHP实例开发源码—Phalcon PHP开发框架.zip PHP实例开发源码—Phalcon PHP开发框架.zip
phalcon 框架 IDE代码提示 phpstrom NetBeans 等IDE 使用的代码提示
Phalcon的PhpStorm代码提示说明 Phalcon的PhpStorm代码提示说明
phalcon 2.0.0版本64位 包含PHP5.3、PHP5.4、PHP5.5、PHP5.6 本资料共包含以下附件: phalcon_x64_VC9_php5.3.9_2.0.0.zip phalcon_x64_VC9_php5.3.9_2.0.0_nts.zip phalcon_x64_VC9_php5.4.0_2.0.0.zip phalcon...