随笔分类 - 1.3 PHP
摘要:首先,将PHP项目的PHP版本设置为PHP 7.0。 PHP 7其中一项新特性是返回类型声明,即PHP的函数和方法可以声明指定类型的返回值: PHP 7的另一项精彩的改进就是参数的标量类型声明,Netbeans的代码自动完成功能提供了这些新类型支持。 NetBeans也支持PHP 7新出现的操作符:
阅读全文
摘要:只能叫初试,前面虽然做了一些PHPUnit与团队所用框架的整合,但在整个团队还没有人可以主动推动这个事情,而作为Leader最重要的一种能力应该是“让正确的事情发生”,所以今天开始着手对现有代码的Model进行单元测试用例和代码的编写。 Db测试用例选择了MysqlDump工具生成Mysql专用xm
阅读全文
摘要:hhvm是php的第三方运行环境,由facebook出品,基于该运行环境,它还提供了一种编程语言hack PHP的静态类型版。 折腾了一天后,包括各种编译、配置、FQ,后面终于忍不住搜了一下 ,终于找到了答案。 There are a variety of volunteered owned mir
阅读全文
摘要:如今,有一种BaaS服务(后端即服务)的模式,即无需编程即可生成后端应用及相应API。 Drupal这套CMS下,有一款插件Services,可以在线直接自定义各种格式如json、xmlrpc、webservice等的API接口,并且具有版本化管理的功能,牛之极。 https://www.drupa
阅读全文
摘要:基础类型 PHP中主要的基础类型可以在Hack中进行显式类型标注。包含: bool int float string array resource <?hh namespace Hack\UserDocumentation\Types\TypeSystem\Examples\Primitive; c
阅读全文
摘要:在typechecker的配合下,Hack语言的类型化能力是Hack其他功能特性的基石。开发Hack语言的主要动机也正是为代码提供显式类型标注以便对代码进行类型一致性和潜在错误分析。 这是用于对比Hack特性的一个实例,用传统PHP形式编写: 上述示例可以完美运行于HHVM上(除了在最后的var_d
阅读全文
摘要:Hack最基础的特性就是类型标注。PHP5已经开始支持对象的类型化,PHP7也提供了标量类型化声明。Hack提供了全面的类型标注支持,与其typecher配合使用,还可以实现快速、前置静态类型验证。 什么是类型标注? 类型标准允许给类属性、方法/函数参数、方法/函数返回值及代码其它组件添加显示类型,
阅读全文
摘要:Hack语言主要有三大看点:类型化、异步、集合。 Hack最基础的特性就是类型标注。PHP5已经开始支持对象的类型化,PHP7也提供了标量类型化声明。Hack提供了全面的类型标注支持,与其typecher配合使用,还可以实现快速、前置静态类型验证。 Collections, shapes, 及 en
阅读全文
摘要:基于“PHP是世界上最好的语言”这一理论前提,Hack是PHP的静态类型版,所以至少应该也是一门好的语言吧。
阅读全文
摘要:命名空间其实只是一个形式,最终目的是重构代码,但这个过程想要一蹴而就是不可能的。 一开始给了一个伪命题:基于ThinkPHP的重构(不要问为什么)。经过一段的实践,发现这是一个大错特错的思维方式,其中遇到的坑在此略过不表。 首先,不要想着全盘基于命名空间重写,而应该是基于局部的。 最终思考后的结果,
阅读全文
摘要:其实自己去设计一套框架或系统的特性时,是很难做到这一点的;只是在评判别人的劳动成果时,有可以指手画脚的基础,才有所界定。 这也是新手要坚持很长一段时间去阅读优秀源代码的原因。 在巨人的肩膀上,才能看得更远。 迄今为止,虽然做了一些小的库,但还是没有做出什么完整的开源作品。本质上,是否还是缺乏耐心和毅
阅读全文
摘要:《从架构的角度看,如何写好代码?》这篇文章是一线开发人员实践的经验总结,文字很通俗,应该是基于Java语言环境,但我认为也是符合多数PHP项目团队的所处实践阶段的。 “业余选手,越想从水里浮起来,就越想把头抬起来,身体反而沉下去。只有克服恐惧,把头往水里压下去,身体才能够从水里浮起来。真正专业的习惯
阅读全文
摘要:前两天看到一句话: "软件架构实际上包括:代码架构,以及承载代码运行的硬件部署架构。实际上,硬件部署架构最终还是由代码的架构来决定。" 云时代的开发模式与10年前的开发模式已经有了很大不同,但很多小作坊小厂都还是基于10年前的代码结构在做开发,何谈基于云的架构。 开发: PHP代码与Web前端代码分
阅读全文
摘要:PHP Stream Wrapper 原文: ,主要是基于SAE环境讲述相应的应用场景,本文经过一定的整理和少量补充。 一、PHP Wrapper是什么 自PHP 4.3开始,PHP开始允许用户通过stream_wrapper_register()自定义URL风格的协议。用户使用fopen(), c
阅读全文
摘要:命名空间提供了一种从逻辑上组织类的方式,防止命名冲突。 几种常见语言 C++ 命名空间是可以嵌套的 嵌套的命名空间是指定义在其他命名空间中的命名空间。嵌套的命名空间是一个嵌套的作用域,内层命名空间声明的名字将隐藏外层命名空间声明的同名成员: C++ int x = 20; namespace out
阅读全文
摘要:项目地址:https://github.com/web3d/TPUnit ThinkPHP PHPUnit框架集成,基于TP3.2,建议PHP 5.4以上环境。 单元测试应该是提高PHP编码质量的解决之道,但应该没有多少PHP团队在用单元测试改善开发过程,更不用提TDD开发方法。 不可否认Think
阅读全文
摘要:这段文字其实只是标题党。 目前PHP猿的薪资水平普遍较高,但其实绝大多数PHP猿都不是科班出身,你问一个什么是OOP的问题可能都说不清楚。 在团队中,除了费力的去普及编程语言的基础知识,要想提高开发质量,应该还是要使用Facebook的HHVM、Hack这样的强类型语言。 通过数据类型的强化,来尽可
阅读全文
摘要:项目地址:https://github.com/brianlmoon/GearmanManager PHP环境要求 PHP 5.5.9 POSIX extension Process Control extension pecl/gearman or Net_Gearman 使用GearmanMan
阅读全文
摘要:无意中看到Yii2提供的高级应用模板,里面将入口文件与环境相关配置项放到独立的目录下的相应文件中。这应该算是一种比较理想的应用配置管理方案了。 以前整理过一种思路: Yii2提出的方案比这个更往前进化了。有些环境配置项,可能要放到入口文件且于其它配置项之前,这样一个入口文件是不够了。所以继续往前想,
阅读全文
摘要:以yii2为例 打包文件过程比较简单,但打包好以后简单测试yii命令,一直报错: PHP Fatal error: Uncaught yii\base\InvalidParamException: The directory does not exist: phar:///Users/jimmy/P
阅读全文

浙公网安备 33010602011771号