作者newversion (海纳百川)
看板PHP
标题[请益] Codeigniter 有这种神奇的写法吗?
时间Mon Nov 28 01:55:35 2016
大家好,最近请一家外包商写 php
他们使用 Codeigniter 这个 framwwork
本来,我们没有限定使用framwwork (另外也听过大名顶顶的mvc)
就让他用罗~~~
不过,感觉厂商的基本工不太行,用 framwwork硬兜乱兜
例如:以下这种写法
\application\modules\xxx\controllers\XXX.php
class XXX extends CI_Controller {
public function index(){
session_set_cookie_params (....) // 1
require_once(APPPATH.'libraries/YYYY.php'); //2
YYYY.php 是一个第三方套件,里面有一些
变数 $aaa = ....;
function bbbb() {....}
还有些 if/else/while 等控制流程
里面没有 Class
这种写法,是不是非常有问题啊!? 虽然小弟 CI零基础,但 Google 一下
1.
CI 已经有
\application\config\config.php 的 $config['sess_****']
\system\libraries\Session\ 在专门处理session,怎麽还能有
session_set_cookie_params (),这不是唱双簧吗?
2.
我不懂MVC,但也粗知OOP .. Class里面再去 include别的档,感觉会出问题啊
不是应该把libraries/YYYY.php 弄成Class
再 $this->load->library('YYYY')
请赐教.. thx~~~
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.248.59.62
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/PHP/M.1480269337.A.261.html
※ 编辑: newversion (111.248.59.62), 11/28/2016 01:57:20
1F:→ dlikeayu: 抱脸又笑又哭状 11/28 02:06
2F:推 rickysu: 重点不在include方式,而是个library会有side effect 11/28 09:16
3F:→ rickysu: 当你include之後,你无法预期他会对整个状态做了什麽改变 11/28 09:19
4F:→ rickysu: 很典型的就是include後自动设了一个top level变数 11/28 09:20
5F:→ rickysu: 如果刚好这个变数是你之前已经定义好的怎麽办呢? 11/28 09:21
6F:→ MOONRAKER: 没有class应该是放/helpers,他这个就叫土炮 11/28 10:22
7F:→ MOONRAKER: session也有很多奇怪的土炮法 11/28 10:25
8F:→ MOONRAKER: 但是CI的session是用cookie模拟的,除非另外装套件 11/28 10:25
9F:→ MOONRAKER: 也许他计划用php native session 11/28 10:25
10F:推 Kenqr: CI3已经是用真的session了 除非他是CI2 11/28 10:55
11F:→ xdraculax: 从它 controller目录位置看,既非ci3也非ci2,ci1我没 11/28 11:58
12F:→ xdraculax: 接触不清楚,另还有基於ci开发的opencart之类的东西 11/28 11:58
13F:→ xdraculax: ci3 session才改为php原生,ci2之前是写在cookie,自 11/28 12:01
14F:→ xdraculax: 行存取原生session是很常见的,虽然它写法不是很好就是 11/28 12:01
15F:→ xdraculax: 了 11/28 12:01
16F:→ yzfr6: MVC 跟 Codeigniter 应该不是同一个层级的东西 11/28 13:51
17F:推 mikejaffson: 使用CI不代表不能用原生写法,只是一切还要遵循CI架 12/01 12:30
18F:→ mikejaffson: 构去写,未来才好维护。 12/01 12:30
19F:→ mikejaffson: 原po的土炮写法确实不太好就是 12/01 12:30
20F:→ mikejaffson: 推楼上,大部分的Web MVC 如CI 12/01 12:32
21F:→ mikejaffson: 我认为这比较像modal2而非真正的MVC 12/01 12:32
22F:→ MOONRAKER: Model 2。modal是开起来按X才可以关的那种灯箱。 12/01 13:11
25F:→ mikejaffson: 小弟英文不太好,常常选错字>///< 12/01 13:13