主题是一种特殊的插件用来改变 piwik 的外观,使用 CSS 和 LESS 来覆盖Piwik 默认的样式。
这篇文章会介绍如何创建一个新主题,你需要具备的知识:
能够编写 HTML, PHP,CSS 和 JavaScript
大概了解如何扩展 Piwik
1. 新建一个主题...
shanhuhai
7年前 (2017-10-24) 10416℃
2喜欢
使用组合而不是继承
“Gang of Four”在设计模式里所声明的,你应该优先选择“组合模式”而不是“继承”
译者注:Gang of Four 译成 四人帮,指代 DesignPatternBook 的四位作者
不论是使用“组合模式”还是使用“继承”都有许多理由。
这个...
shanhuhai
7年前 (2017-09-15) 3602℃
5喜欢
(译者注:以下两点主要是说不要直接操作对象的属性,而是通过方法来间接操作,这样可以封装类的内部细节,避免对象内部属性被意外修改)
1.使用 setter 和 getter
在 PHP 中,你可以为方法设置 public, protected 和 private 关键字。使用这些关...
shanhuhai
7年前 (2017-09-12) 3649℃
8喜欢
接上一篇PHP 代码简洁之道——函数部分(一)
8. 不要使用单例模式
(译者注:这一条有些难理解,看不懂就略过吧)
单例模式是一种反模式,Brian Button 的解释:
单例通常被用做一个全局的实例,为什么不好?因为你在代码中隐藏了依赖,而不是通过接口暴露他们。通过将一些...
shanhuhai
7年前 (2017-09-12) 5338℃
7喜欢
1. 函数参数(不要超过两个)
限制函数的参数数量是非常重要的,因为它使你的函数更容易测试。超过三个参数会导致参数之间的组合过多,你必须对每个单独的参数测试大量不同的情况。
没有参数最理想的情况,一个或两个参数是可以接受的,三个以上是应该避免的。这是很重要的。通常,如果你有两个以...
shanhuhai
7年前 (2017-09-10) 4881℃
3喜欢
使用有意义的并且可以读出来的变量名称
不好的:
$ymdstr = $moment->format('y-m-d');
好的:
$currentDate = $moment->format('y-m-d');
对于同一类型的变量使用相同的词汇
不好的:
getUs...
shanhuhai
7年前 (2017-09-09) 7194℃
19喜欢
Churn PHP 是一个命令行工具,用来帮助你找到需要重构的PHP文件。Churn会检查你提供的路径中的文件并且:
检查单个文件提交次数
计算循环复杂度(cyclomatic complexity)
基于以上两个值计算一个评分
查阅Churn 的 GitHub项目里的REA...
shanhuhai
7年前 (2017-09-08) 3340℃
5喜欢
本文介绍了一个关于 编写高质量PHP 代码指南的 github 项目 clean-code-php
以下是正文:
PHP 简洁代码之道 clean-code-php, 是基于 Clean Code: A Handbook of Agile Software Craftmansh...
shanhuhai
7年前 (2017-09-07) 7100℃
22喜欢
随便找几个Laravel的包,读下它们提供的 readme 文件,看看你是否能发现一些共同点。基本上每个Laravel 安装包都包含以下步骤:
安装包:
composer require foo/bar
在 app.php 中注册服务器提供者:
Foo\Bar\ServiceP...
shanhuhai
7年前 (2017-08-31) 4602℃
6喜欢
Laravel 5.5 中给 Collections 类引入了两个新方法,使得调试比以前更方便了,他们是 dd 和 dump。
假设你有一个简单的 collection 加了一些过滤条件。
collect([1,2,3])->map(function($i){
r...
shanhuhai
7年前 (2017-08-30) 3544℃
6喜欢