從Java轉PHP的編程感受


學Java出身的,學得也很平常,沒什么亮點。從一開始的servlet 到 struts2 到springMvc 從jdbc 到ibatis mybatis。基本上增刪改查跑一邊吧。

如今參加工作了,寫了6個月的PHP。今天突然之間有點感悟,記錄一下。

因為公司的原因,項目總是再換,總是沒做完,我總是坐着很多相同的事情。所以有時候,我覺得很累。項目經理會說,你有了前面的基礎應該就很快了吧。(他是非專業的)。讓我更加累。一是進度趕,然后是身心俱疲,人的重復不像for循環。我們很快就厭煩了。而for它是沒有感知能力的。

就在這樣的一個環境下,我可能有意無意的再審視自己的代碼。今天我比較了一下和以前寫Java的思路,我發現,我今天寫着的代碼是最開始我寫Java的servlet 業務層 數據層 全部都是寫在一塊的。因為有了JSP 所以當初視圖卻還是分開的,現在寫的PHP 視圖同樣也還是分開了。

在我現在的寫法中經常看見類似這樣的代碼。《框架doitphp》

    //葯品
    public function medComAction(){
        $this->display('medicines/medcom');
    }
    //單個問答頁面
    public function pushAction(){
        $this->display('medicines/push');
    }
    //系統葯品庫
    public function medSysAction(){
        // 系統葯品庫
        $modelForSysproduct = $this->model('Sysproduct');
        $resForSysproduct = $modelForSysproduct->order('id desc')->findAll();
        var_dump($resForSysproduct);
        $this->display('medicines/medsys');
    }

沒有寫任何東西的話,這其實就是對請求做重定向處理,類似Java的action,action只負責跳轉,二具體在跳轉之前要做什么事情,這輸入業務層。

這段代碼的第三個方法,我在調用數據,意思,我的數據層讀寫,也寫在了這里。然后在Java中這應該是放在dao層的。

說道dao,這里就要提起PHP 一些框架的model這個類。他是數據數據層的一個基類。封裝了基礎的方法。

然而一般的話,淺顯點兒理解。一個表,會對應一個model. 在想想Java Java中一個對象,對應一個數據層的xml配置文件。一對一。

這里我不知道這么說可不可以,有時候面向對象編程,一定意義上可以說是面向數據庫編程。

Java 中一個對象的 dao層 會封裝這個對象,對應操作數據庫的所有方法。所以同理,PHP這里的model其實也就充當着這個角色。

所以框架的設計者一開始是沒有錯的。然后我又看了下框架的目錄結構圖

 

在application目錄,我一般沒用到過。我想可不可以作為實體bean的目錄。只要想就可以的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM