3月底,我收到了心儀公司的實習通知,4月1號正式進入公司開始工作.
之前我自己一直在自學PHP,因為之前接受過JAVA培訓,所以學習起PHP來還算容易,而且在學習期間自己租了空間邊學邊做了一個自己感興趣的小站,從頁面結構、樣式到程序實現都是自己用Editplus一行一行寫出來的,雖說技術含量很低,但自己也動了不少腦子,在網上查了不少東西。第一個版本完全就是面向過程的混合式頁面,之后自學了Smarty模板,實現了表現層和邏輯層的分離,很有成就感。
公司用的是ThinkPHP框架,剛到那就塞給我一個任務---EDM,但是時間沒有限制太緊,給了我很多時間去接觸公司用到的工具。老大讓我看ThinkPHP快速入門,起初的兩天一直是云里霧里,感覺一點都看不懂,現在知道,是我當時忽略了一個重要的東西---MVC,這個框架如果用MVC的思想去看很快就可以看明白,之后幾天邊看入門邊看公司代碼,終于在一個星期內我把整個框架的運行模式和結構搞懂了,剩下的就只是應用了。
以下是我對ThinkPHP的理解:
1.目錄結構中的Action就是MVC中的Control層;Model就是MVC中的Model層,Tpl即MVC中的View層;
2.ThinkPHP的Model層是我見過最強大的Model層,用過Java的Hibernate,這個還需要對數據庫表進行配置,感覺步驟很繁瑣,但是ThinkPHP的Model層只需要起一個與數據庫表同名的Model類就可以實現ORM,甚至根本不需要建Model類就可以用框架的M('表名')方法實現ORM,目前感覺很方便;
3.如果要添加一個新的模塊或功能,步驟很簡單:(1)用到了哪個數據庫表,建立相應的Model類,如需要可在Model類中添加自定義方法;(2)建新的Action類即新模塊,在Action類中新建方法,即功能;(3)如需頁面,在Tpl中按照Action名稱和方法名為模板命名即可;這樣一個基本的模塊就done了;
4.經過老大的指導,告訴我Model層中是不應該處理任何業務的(哪怕一個簡單的運算),Model層中應該對業務是一無所知的,它只進行數據庫操作,但是一些業務放在Action中也不合適,所以這個框架缺少一個中間層,這樣就可以使框架分工更加清晰,添加功能和修改代碼效率更高,錯誤更少。
希望日后會對這個框架有更深刻的理解。
|
新聞熱點
疑難解答
圖片精選