楼主:
GALINE (天真可爱CQD)
2016-05-26 12:21:38※ 引述《pracinverse (改)》之铭言:
: 最近看到PHP的一种用法就是在a.php的最后一行才requrie(b.php);
: 看起来是因为前人想要在a.php里面先做一些处理后,再去用到b.php的功能,
: 而这种很不OO的方式来做code reuse实在让我觉得不太习惯,
: 一来一般programming language都是在最一开始去把需用到的其他file include进来,
: 二来要code reuse应该要包成class才能达到封装的目的。
: 这种"在a.php的最后一行requrie(b.php);"的用法
: 在PHP里面算是很常见的用法吗??
: 它算不算一种不好的practice呢?
这很烂,但当年写出这种 code 的人不是傻,是没有招可以出
PHP 到 2009 年才有 namespace,autoloading 的规范 PSR-0 是 2010 还 2011 的事
2012 年才有 composer 这个套件管理系统(以前有pear,但得动到系统...)
在那之前,你就算 OO 了你也很难组织你的 code 该怎么放或啥时加载
而人家写好的 lib 你得透过一连串的 include 地狱来加载
所以会看到一些现在看起来莫名其妙的做法,例如
- include 一个会 include 几十个档案的 php
(不容易有效的加载 lib,于是搞出个类似 .h 档的东西...)
- 满天飞的 global
(没办法用 namespace 去区隔 class,不如全部先在一个地方先 new 出来备用)
- 为了确保逻辑重用,每个地方都 include 同一个 php
(不知道怎么 call 同一个 class 的某个 function,或是没有现代 framework 辅助)
过去 PHP 名声臭是有原因的,人家已经在21世纪了,PHP 还在打二战...
composer 出现之后没几年,PHP 已经脱胎换骨,变成符合 21 水准的超级 PHP。
然而程式码被汰换的速度跟不上这超英赶美大跃进
除非能短短两三年就把整间公司的 code 全部打掉重来...
这是一场 PHP 的文化大革命
但就算php比较符合现在水准了,还是很多人看不起他
作者:
Mtcat (山地猫)
2016-05-26 12:34:00推推
那要学现代PHP 除了那本欧来梨的书之外 还有什么推荐的资源吗? 书或者网络tutorial
作者:
Argos (Big doge is watching u)
2016-05-26 13:01:00楼主:
GALINE (天真可爱CQD)
2016-05-26 13:05:00阿,编辑放太久没存盘结果贴了一样的东西....XDDD
作者:
Argos (Big doge is watching u)
2016-05-26 13:08:00阿 重复贴XD
作者:
johnny94 (32767)
2016-05-26 14:14:00php 真的很妙,一个脱胎换骨的概念
作者:
LaPass (LaPass)
2016-05-26 14:21:00php的这种加载机制我觉得跟C C++很像....
楼主:
GALINE (天真可爱CQD)
2016-05-26 14:28:00要我说的话抄 java 抄的比较凶。不过目前对于挂在namespace 下面的 function 没有优雅的解决方案...
作者: PoloHuang (黄保罗) 2016-05-26 15:04:00
Modern PHP不错
作者:
LaPass (LaPass)
2016-05-26 15:30:00GALINE是指JSP吗?JAVA的ClassLoader的机制跟PHP完全不一样啊....JSP才有require之类的东东
楼主:
GALINE (天真可爱CQD)
2016-05-26 15:47:00是说 PSR-0 跟 PSR-4
作者:
Luos (Soul)
2016-05-26 16:35:00原来今年没用php也进步了
作者: RedMapleWing (闇夜 枫) 2016-05-26 17:10:00
两个连结我很下意识的点了第二个是…
作者:
fouring (香菇)
2016-05-26 21:01:00后端不会PHP是不是不行啊?
作者:
y3k (激流を制するは静水)
2016-05-26 21:21:00就算现在 PHP一样很容易写出让人看了觉得难过的东西前面的包袱太重了
搭配FRAMEWORK就还好了吧 PHP的框架也进步很多呀
作者:
sabiya (别赤脚走路)
2016-05-26 22:36:00作者推的这两联结的作者都是Josh Lockhart,我目前也有使他开发的micro web service framework,叫Slim Framework是真的蛮好用的,推荐给需要撰写restful web api的开发者
作者:
alog (A肉哥)
2016-05-26 22:44:00现在有lumen
作者:
angusyu (〒△〒)
2016-05-27 08:43:00清新好文
作者:
Ekmund (是一只小叔)
2016-05-27 08:54:00文化大革命是失败的吧=口=
作者:
Argos (Big doge is watching u)
2016-05-27 09:38:00革命当然尚未成功 PHP同志们仍需努力 团结奋斗救PHP
不同的时空背景有不同的作法啊,也不能说 include 一堆档案就是错误的写法吧?毕竟现在 php 的 autoload 也是在 __autoload 做 include ,只是不去翻看不到而以。当然 autoload 是优雅很多没错啦!
作者:
chan15 (ChaN)
2016-05-28 15:40:00推超级 PHP XD
PHPConf Taiwan 2016会请到现代PHP的作者,欢迎来听!
作者:
rickysu (Ricky)
2016-06-01 09:31:00帮推 PHPConf Taiwan 2016...