Re: [請益] 從php5.6跳到php7.1值得嗎

看板PHP作者 (皮皮快跑)時間7年前 (2017/11/26 15:32), 編輯推噓11(11029)
留言40則, 12人參與, 7年前最新討論串2/2 (看更多)
※ 引述《miniear (Littlear)》之銘言: : 他說我們是作為一個開發者,而不是使用者...(這邊我就霧煞煞了 : 又舉例好幾年前接案的客戶自己請人來協助開發,結果那個人只會用framework跟mysqli : ,沒多久就走了...(我師父因此蠻得意的~ : 而且許多客戶伺服器也不能直接改用php7, : 再者他深信php5是不會被淘汰的... : 但也沒有制止我繼續去搞這些, 我還是用回文的講一些事好了,當中會帶出我寫ios的經驗。 你提到你師父對於使用框架跟mysqli的經驗談。 我想知道的是,他對mysqli有意見的話。 敢情他是使用pdo? 如果不是pdo而是mysql指令集的話。 那就表示關於sql injection的過濾他都要自己土砲了。 還是說……其實他並沒有關注到sql injection的問題? 換個角度來看,php官方為什麼要在php7時拔掉mysql指令集。 又為什麼在php 5.6時就已經建議別在使用mysql指令集? 所以到底你覺得這邊是該聽你師父的?還是聽官方的? 再來就談框架好了。 我先說明,在ios的開發中,第三方元件庫也是稱之為framework。 其立意相當明白:聽工程師直接解決繁鎖而複雜的事。 如果沒有這樣的東西,就像我前陣子在刻的ios版的日曆。 如果沒有第三方元件庫,我連底層都得自己來。 但因為有第三方元件庫,引用之後我只要改好上層ui就好了。 就php來說,使用框架是有一些目的的。 1.以MVC架構來分離程式碼和視圖的分界,讓程式設計師專注於開發,而網頁設計師能 專注在畫面的設計上。 2.提供良好的功能性類別及輔助函式來快速解決問題。 3.一致性的設計規範。 4.清析明確的統一架構內容。 5.官方統一制定的開發文件。 6.快速的設定。 7.方便的Active Record或ORM 8.第三方元件庫的載入支援(composer) 9.較統一性質的命名原則。 10.良好的資料庫遷移系統。 (後面就請大家繼續補充吧!) 基本上,所謂土砲,也只是讓你了解這些較核心功能的設計方法。 但前提是,你要有足夠的時間來去研究,那都是在工作以外來再花時間的。 但如果你當下就要解決或滿足客戶的需求時。 你有那麼多的時間來研究?還是善於利用資源來立刻解決你手上的問題? 講白的,我其實也算是土砲組的。 因為我很喜歡「浪費時間」去研究那些東西到底在核心是怎麼做出來的。 我也會想說要不要來「自幹」一個一樣的東西。 但問題是,真的在做客戶的東西時。我還是會去找資源。 看什麼東西能最快把問題處理掉。 什麼東西都要自幹出來其實是相當吃力不討好的事情。 更重要的是:常常自幹說得一口好方法的人………卻常常到了新的專案還在自幹。 徒然浪費更多的時間了。 我相信,等你跟著你師父越久……你就會發現越來越多問題。 但畢竟是前輩,你也不好直接反駁他。 只能說:那麼你就當現在是學習,然後把自己的能力提到一個程度就閃人吧。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.181.255.20 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1511681561.A.9AB.html

11/26 16:13, 7年前 , 1F
謝謝大大提點,今天才看你的pdo教學,這東西我是第一次
11/26 16:13, 1F

11/26 16:13, 7年前 , 2F
聽到...對你來說應該很扯吧,哈哈
11/26 16:13, 2F

11/26 16:49, 7年前 , 3F
pdo都出好幾年了...還沒用過就打屁股了
11/26 16:49, 3F

11/26 17:35, 7年前 , 4F
呵呵,我學得都是$result=mysql_query($sql); 不過用這
11/26 17:35, 4F

11/26 17:35, 7年前 , 5F
個有比較差嗎
11/26 17:35, 5F

11/26 17:43, 7年前 , 6F
比較不安全
11/26 17:43, 6F

11/26 18:43, 7年前 , 7F
看完t大的sql injection影片就明白了,謝謝~
11/26 18:43, 7F

11/26 20:38, 7年前 , 8F
標題都5.6->7.0,還在mysql_query…卡稱天try
11/26 20:38, 8F

11/26 20:38, 7年前 , 9F
7.1
11/26 20:38, 9F

11/27 00:00, 7年前 , 10F
我目前都是用5.6啊 7.1是想自己去學的
11/27 00:00, 10F

11/27 10:11, 7年前 , 11F
ok 你師父連pdo都沒教你 塊陶啊
11/27 10:11, 11F

11/27 18:07, 7年前 , 12F
7.1用mysql_query ,不是殺雞用牛刀,是殺螞蟻用核彈@@
11/27 18:07, 12F

11/27 19:20, 7年前 , 13F
客戶環境很常連5.6都沒有,我是都定在5.3
11/27 19:20, 13F

11/27 23:10, 7年前 , 14F
不是吧?7.1用mysql_query就好比給你核彈……只有殼!
11/27 23:10, 14F

11/28 09:20, 7年前 , 15F
你跟著你師父結果PDO跟Injection都不知道,他就讓你用
11/28 09:20, 15F

11/28 09:21, 7年前 , 16F
mysql_query...這師父如果不是不專業就是不盡責
11/28 09:21, 16F

11/28 09:22, 7年前 , 17F
7.1用mysql_query就是你身邊有一堆好用的工具給你殺雞
11/28 09:22, 17F

11/28 09:23, 7年前 , 18F
結果你用一把隨時會彈回來傷到你的小刀在殺
11/28 09:23, 18F

11/28 11:39, 7年前 , 19F
重點是這把小刀還完全不利……
11/28 11:39, 19F

11/28 12:48, 7年前 , 20F
mysql_query injection 隨便Google就一堆了~~
11/28 12:48, 20F

11/28 13:03, 7年前 , 21F
htmlentities($v,ENT_QUOTES,'utf-8');
11/28 13:03, 21F

11/28 13:04, 7年前 , 22F
如果所有輸入都用上面函式處理過,會不會安全點阿...
11/28 13:04, 22F

11/28 13:05, 7年前 , 23F
因為我把相關函數弄成包了,不知道怎改成PDO...沒時間研讀
11/28 13:05, 23F

11/28 13:30, 7年前 , 24F
其實最大的問題是$row = mysqli_fetch_assoc($result)
11/28 13:30, 24F

11/28 13:30, 7年前 , 25F
我其他地方都是用這樣子的函式去叫,改成PDO,要改很多檔
11/28 13:30, 25F

11/28 13:31, 7年前 , 26F
案的code... 不知道有沒有可能PDO回傳$result,可以這樣叫
11/28 13:31, 26F

11/28 15:23, 7年前 , 27F
有,快去看php manual,然後快去改
11/28 15:23, 27F

11/28 15:53, 7年前 , 28F
對,快改,反正想辦法用prepared statement
11/28 15:53, 28F

11/28 17:51, 7年前 , 29F
現在學php,一定是要學pdo
11/28 17:51, 29F

11/28 19:41, 7年前 , 30F
所以一樣可以用$row = mysqli_fetch_assoc($result)喔?!
11/28 19:41, 30F

11/28 19:41, 7年前 , 31F
php manual有寫怎用嘛...我研究研究...
11/28 19:41, 31F

11/28 19:42, 7年前 , 32F
我忽然覺得不該問有沒有可能,應該問怎做 :P
11/28 19:42, 32F

11/28 19:43, 7年前 , 33F
是說htmlentities有任何破綻嘛?我自我測試感覺其實超安全
11/28 19:43, 33F

11/30 09:51, 7年前 , 34F
htmlentities 跟 sql injection 不相干~ :)
11/30 09:51, 34F

11/30 14:21, 7年前 , 35F
有關吧(?htmlentities($v,ENT_QUOTES,'utf-8');
11/30 14:21, 35F

11/30 14:21, 7年前 , 36F
這樣處理過之後,我這測試injection和XSS都pass
11/30 14:21, 36F

11/30 17:34, 7年前 , 37F
其實對於輸入有filter_input()這個函式可以用。
11/30 17:34, 37F

11/30 17:35, 7年前 , 38F
所以在土砲狀態時我都不使用$_POST來處理
11/30 17:35, 38F

11/30 17:36, 7年前 , 39F
但不管怎麼說,對於任意來源還是用pdo或mysqli來prepare
11/30 17:36, 39F

11/30 17:37, 7年前 , 40F
一定必須要這樣處理,因為這已經是最後一道防線了
11/30 17:37, 40F
文章代碼(AID): #1Q6cuPch (PHP)
討論串 (同標題文章)
文章代碼(AID): #1Q6cuPch (PHP)