看板 PHP 關於我們 聯絡資訊
: 記得不久前,我必需寫一個 DOS 下的批次檔 : 當時因為檔名處理的問題搞不定 : 推 aquarianboy :php也可以寫成可執行的shell script.. :) 07/23 21:33 : → uftea :幫樓上註解.. php-cli 07/23 21:38 : : Yes,我有裝 : 所以才覺得幹麻寫批次檔要改用 Perl : → starjou :在 Linux 下寫了兩年多的全職 PHP, 一點也不會 perl 07/23 21:51 : : 看來答案真的只有一個 : 就是慣性 講解一下狀況好了 當時我是寫了一個 C 的模組,但是使用的 VC 版本和其他同事不同 在我們軟體公司,是把 build machine 和 RD 電腦分開的 前公司沒這樣做,結果 RD 電腦中毒,看是 source code 消失或把病毒出貨都很好笑 所以開發流程當然是 RD 繳出程式,build machine 獨立 compile 因為 build machine 上整個架好的是 VC6.0,批次檔都完備了 它獨立的程度是可以遠端下個專案名,就一直跑完到把 package 包好丟在子目錄裏 這樣的東西,我無法要求其他同事 "你就打開整合環境,幫我 LOAD 程式進來,選 XXX 選項再 build 就好了" 當然要用命令列 compiler,且 compiler option 一定要全自動匯入 微軟猜也知道我有這需求,都有準備 但是 build machine 隨時會重架,並且架在不同的子目錄架構上 所以我的批次檔要能依環境變化,依目前子目錄不同而自行調整 C:/path/subpath/*.prj => C:/path/exe/*.exe 像這樣,稍微有點變化,我實在很想用 strpos 去找出 '/' ,去兜子目錄名和檔名 當我提出用 PHP 現學現賣時,同事阻止我 那是因為 PHP 還需要再安裝 而 build machine 是要多單純有多單純 我看他們恨不得把 Win XP 縮小到命令列版本,只裝 compiler 而已咧 :P 說到縮小 OS,量身訂做,只依需求灌有限的軟體 老實說,Linux 一直是這樣 可是我們那是 Win OS 下的專案 :P 話說回來,我好像看過 Cross Compiler XD 這東西架在 Linux 下,但 Compile 出來的程式是給 Win OS 跑的 那就可以 不過我們當然不會去用它,因為相容性有一堆問題.. 寫程式都焦頭爛額了,沒人想去幫別人測相容性.. ;; 我一向稱 C++ 為 C 雖然有的同事很計較說,C++ 不一樣 物件導向語法裏 I->F(); 在非物件導向語言,可以這樣寫 F(&I); //第一個參數,就是 this 所以我早就學物件導向觀念(大概 windows 3.0,甚至好像看過 2.0 吧..) 但很晚才學 C++ 但好的語言的確對可讀性大有幫助 I->F()->F1()->F2(); 如上,物件的箭頭可串接呀 XD 讀成:I 這個物件它的方法 F 產生的物件的方法 F1 產生的物件的方法 F2 的動作 如果沒有 C++,用 C..... F2(F1(F(&I))); 執行是一樣,但腦袋很難把它想成物件導向 因為外層是程序,感覺就是程序導向 是為程序準備資料 I 而不是為物件 I 去執行程序;物件 I 是活的,資料 I 感覺不到是活的 PHP 學到 Cake 的例子 findbymail($mail); 目前我還是想罵人,覺得會不會走火入魔了;因為我搜尋不到,很累 它要是寫成 findby('mail',$mail); //一樣嘛 好吧,這樣有點多餘,看了不爽,算可讀性扣分,那 findby($mail); //這樣不是更爽 XD 自動判斷 $mail 內部是個 mail 有點困難 好吧..看來 findbymail 設計得不錯 XD 而且它其實是以前我寫 C 時的一個渴望 class C { int a,b,c,d,e,f,g,h,i,j;//莫名其妙就一堆變數 public: int geta(); //然後同事就說不要偷懶把變數給 public,一定要寫 method 去拿 int getb(); //才叫良好的封裝;喔,這樣那些變數就變唯讀,老實說封得蠻好的 int getc(); . . . } 所以現在有大絕了 XD class C { int a,b,c,d,e,f,g,h,i...; int get_(); //這個函式會變型,自己生出一堆 geta,getb,getc;反正內容大同小異 } 這不就是 template 在幹的事嘛 只是 template 超難 trace 的,宣告及實作都長得很畸型(只有爽到叫用的人) 且它有實質產生對應的 function object 看來 PHP 就是依渴望而修改的 :) 幸好它是 Server 端 不然依我們軟體公司把軟體視為財產的想法 叫我把 source code 供在那邊不能 compile 這樣怎麼活下去.. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.219.65.16
starjou :還蠻離題的,PHP 的優勢在於做動態網頁 07/24 00:23
starjou :在這方面它非常方便而且好上手(如果有把 document 07/24 00:23
starjou :瀏覽一下,主要章節 K 一下,函式庫目錄掃一下) 07/24 00:24
starjou :要拿他去做 OS 的什麼什麼、C 能做的什麼什麼 .... 07/24 00:24
starjou :應該不是一條近路 07/24 00:24
HuangJC :對於會自己寫函式庫的人來說,函式庫不支援並不是大事 07/24 11:02
HuangJC :所以才會從語言架構及優勢去檢視;另外不是寫 OS 07/24 11:03
HuangJC :而是寫批次檔 07/24 11:03