开发文档管理利器Dash与Zeal
Dash
是 Mac
下非常好用的文档查询工具,可在一个软件中查询几十种语言、软件、框架... 的使用文档,且还有各种流行的编辑器和 IDE 插件,真是方便至极。实乃众猿在 OS X
环境中居家旅行必备神器。
Windows
和 Linux
用户可下载 Zeal
使用本文档,
传送门:
Dash
是 Mac
下非常好用的文档查询工具,可在一个软件中查询几十种语言、软件、框架... 的使用文档,且还有各种流行的编辑器和 IDE 插件,真是方便至极。实乃众猿在 OS X
环境中居家旅行必备神器。
Windows
和 Linux
用户可下载 Zeal
使用本文档,
传送门:
Laravel 5 已于不久前正式发布,新版目录结构发生很多变化,也移除一些4中存在的包,比如 HTML与Form。
本文来自 https://phphub.org/topics/249 。
Laravel 5 因为采用了另一套不同的架构, 而把 HTML 和 Form 类从核心里面移除.
如果还想继续使用这两个类的话, 可以使用以下方法:
编辑 composer.json 文件, require 节点下增加:
"illuminate/html": "~5.0"
然后执行:
composer install
修改 config/app.php
文件, 在 providers
数组里面添加:
'Illuminate\Html\HtmlServiceProvider'
在使用 Laravel Eloquent
模型时,我们可能要判断取出的结果集是否为空,但我们发现直接使用 is_null
或 empty
是无法判段它结果集是否为空的。
var_dump
之后我们很容易发现,即使取到的空结果集, Eloquent
仍然会返回 Illuminate\Database\Eloquent\Collection
对象实例。
其实,Eloquent
已经给我们封装几个判断方法。
$result = Model::where(...)->get();
//不为空则
if ($result->first()) { }
if (!$result->isEmpty()) { }
if ($result->count()) { }
参考网站:http://stackoverflow.com/questions/20563166/eloquent-collection-counting-and-detect-empty
最近在使用 Laravel
单元测试 phpunit
,发现在命令行下,打印某些网页字符串会显示乱码,经搜索后,知晓这是因为命令行代码页与网页编码不一致造成的。
Windows
简体中文系统,默认命令行代码页为936(简体中文),而网页编码一般为UTF-8(65001)。
可以尝试在命令行下输入以下命令,切换代码页:
rem utf-8
chcp 65001
如需切换回简体中文,请输入
rem 简体中文
chcp 936
为了便于后期维护,现对使用
Laravel 4.2.x
的项目做出开发与命名上的约束。本文只对某些重点做出具体约束,可能存在遗漏的地方,欢迎补充说明。
Laravel
使用 Composer
进行源码管理,自动加载推荐遵循 PSR-4
规范,可以到此查阅相关文档:
参照 Laravel
模型相关内容,我们可以看出,Laravel
倾向于使用复数名词作为表名,Laravel
框架自带了一个 User
模型操作 users
用户表。
推荐使用三个小写字母以上的字符串作为数据库表前缀,如芽丝内容管理框架就使用yascmf_
作为表前缀。
数据库表默认使用utf8_unicode_ci
作为排序规则。
数据表名与表字段推荐使用全小写英文字母,单词之间采用下划线 (_
) 作为分隔符;数据库字段应避免使用 MySQL
关键字(如desc
、 null
、 count
与 order
等 );数据库表及字段在设计时应添加与保留注释(即 COMMENT
)内容。
使用Laravel ORM
时,可能还需要添加额外的字段,如自动时间戳记录的字段 created_at
、 updated_at
与 deleted_at
等。
在 SQL
语句的编写中,凡是 SQL
语句的关键字一律大写,如:SELECT
、ORDER BY
、 GROUP BY
、 FROM
、 WHERE
、 UPDATE
、 INSERT INTO
、 SET
、 BEGIN
、 END
等。
遵守第三范式 3NF
标准的规定:
A.表内的每一个值都只能被表达一次。
B.表内的每一行都应该被唯一的标识(有唯一键)。
C.表内不应该存储依赖于其他键的非键信息。
主键(包括联合主键)与索引名应表义清晰明确,唯一索引建议带上_unique
缀名,以与其它普通索引区别。