phpdoc
根据PHP注释生成文档的工具:
根据PHP注释生成文档的工具:
// 如果有多个php版本,需要确认pecl是目标php的版本 pecl install stats-2.0.3 echo extension=stats.so > /etc/php/7.0/mods-available/stats.ini
ln -s /etc/php/7.0/mods-available/stats.ini /etc/php/7.0/fpm/conf/30-stats.ini
https://serverpilot.io/docs/how-to-install-the-php-stats-extension
本文基于Laravel 5.4编写。Laravel 4.2的入门教程请参看:Laravel 4入门:MVC框架
安装完并访问Laravel框架首页(假设URL http://localhost/ 映射到<path>/<to>/<laravel>/public/),可以看到如下页面:
本文基于Laravel 4.2编写,Laravel 5的教程请参考:Laravel 5入门:MVC框架
在app/routes.php里面添加下面代码,然后在浏览器里访问http://<laravel host prefix>/helloworld可以见到结果。
Route::get('/helloworld', function() {
return '<html><body>hello world</body></html>';
});
理论上可以把所有代码都写在app/routes.php里面,但是这会令代码难以维护。于是,我们可以把具体的页面内容搬到视图里,让路由文件简短一些。
app/routes.php
数据显示,Laravel很慢,只有主流PHP框架1/3速度,内存则是主流框架2倍多。Symfony2表现令人满意,每秒可以处理250个请求,功能强大但速度和内存都不差。Drupal7比Drupal8快2-3倍。Drupal8的性能接近于Symfony2,每秒大概处理200个请求。对于登录用户,Drupal的速度会下降到原来的1/25左右,可见缓存在Web程序的性能里起决定性作用。
代码风格示例:
教程教开发者通过php app/console server:run来启动服务器,但没有告诉开发者如果用Apache或Nginx服务器时应该把document_root指向web子目录。这令用户一开始比较迷惑,不知道怎样把demo程序运行起来。同样的问题也发生在Model、View、Controller目录的寻找上,它不像ThinkPHP那样简单直观,MVC的代码不能直觉地找出来。
教程里的路由例子在demo工程里并不能运行,原因是demo工程的路由插入了语言标记,而教程对这没有解释(这是在routing.yml里定义的)。demo工程里,如果把一篇文章的标题改成中文,demo程序会报错,原因是demo的URL包含了标题,而标题包含中文时会出问题。路由的代码居然是以注释的方式出现,这令初级的PHP程序员很不习惯。路由除了和注释有关之外,还和一个routing.yml的文件有关,这又是一个非PHP代码的方式,让人很不习惯,好像无缘无故要多学一种标记语言似的。类似的地方还有权限控制,权限控制不是通过PHP方式实现,而是yml+PHP代码注释方式实现。