分类 Laravel 下的文章

开发文档管理利器Dash与Zeal

DashMac 下非常好用的文档查询工具,可在一个软件中查询几十种语言、软件、框架... 的使用文档,且还有各种流行的编辑器和 IDE 插件,真是方便至极。实乃众猿在 OS X 环境中居家旅行必备神器。

WindowsLinux 用户可下载 Zeal 使用本文档,

传送门:

Laravel 5 下使用 HTML 和 Form

Laravel 5 已于不久前正式发布,新版目录结构发生很多变化,也移除一些4中存在的包,比如 HTML与Form。
本文来自 https://phphub.org/topics/249

Laravel 5 因为采用了另一套不同的架构, 而把 HTML 和 Form 类从核心里面移除.

如果还想继续使用这两个类的话, 可以使用以下方法:

1. Composer 安装

编辑 composer.json 文件, require 节点下增加:

"illuminate/html": "~5.0"

然后执行:

composer install

2. 添加 providers

修改 config/app.php 文件, 在 providers 数组里面添加:

'Illuminate\Html\HtmlServiceProvider'

- 阅读剩余部分 -

判断Laravel Eloquent获取数据结果集是否为空

在使用 Laravel Eloquent 模型时,我们可能要判断取出的结果集是否为空,但我们发现直接使用 is_nullempty 是无法判段它结果集是否为空的。

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

更改cmd代码页,修正中文显示

最近在使用 Laravel 单元测试 phpunit ,发现在命令行下,打印某些网页字符串会显示乱码,经搜索后,知晓这是因为命令行代码页与网页编码不一致造成的。

Windows 简体中文系统,默认命令行代码页为936(简体中文),而网页编码一般为UTF-8(65001)。
可以尝试在命令行下输入以下命令,切换代码页:

rem utf-8
chcp 65001

如需切换回简体中文,请输入

rem 简体中文
chcp 936

- 阅读剩余部分 -

Laravel 4 项目开发与命名规范

为了便于后期维护,现对使用 Laravel 4.2.x 的项目做出开发与命名上的约束。本文只对某些重点做出具体约束,可能存在遗漏的地方,欢迎补充说明。

自动加载

Laravel 使用 Composer 进行源码管理,自动加载推荐遵循 PSR-4 规范,可以到此查阅相关文档:

PSR-4中译文

Composer Autoload不完全中译文

数据库命名规范

参照 Laravel 模型相关内容,我们可以看出,Laravel 倾向于使用复数名词作为表名,Laravel 框架自带了一个 User 模型操作 users 用户表。

推荐使用三个小写字母以上的字符串作为数据库表前缀,如芽丝内容管理框架就使用yascmf_作为表前缀。

数据库表默认使用utf8_unicode_ci作为排序规则。

数据表名与表字段推荐使用全小写英文字母,单词之间采用下划线 (_) 作为分隔符;数据库字段应避免使用 MySQL 关键字(如descnullcountorder 等 );数据库表及字段在设计时应添加与保留注释(即 COMMENT )内容。

使用Laravel ORM时,可能还需要添加额外的字段,如自动时间戳记录的字段 created_atupdated_atdeleted_at 等。

SQL 语句的编写中,凡是 SQL 语句的关键字一律大写,如:SELECTORDER BYGROUP BYFROMWHEREUPDATEINSERT INTOSETBEGINEND 等。

遵守第三范式 3NF 标准的规定:

A.表内的每一个值都只能被表达一次。

B.表内的每一行都应该被唯一的标识(有唯一键)。

C.表内不应该存储依赖于其他键的非键信息。

主键(包括联合主键)与索引名应表义清晰明确,唯一索引建议带上_unique缀名,以与其它普通索引区别。

- 阅读剩余部分 -