PHPWeb开发入门体验学习笔记
PHPWeb開發(fā)入門體驗(yàn)學(xué)習(xí)筆記
4
一、PHP web應(yīng)用開發(fā)須知
1.入門要點(diǎn)
程序員三個階段:碼農(nóng)(速成技能)->工程師(長期知識)->專家(研究論文)
編程三要素:聲明變量(系統(tǒng)、全局、字段等)、數(shù)據(jù)算法(應(yīng)用、比較、計(jì)算等) 、控制結(jié)構(gòu)(變更、判斷、循環(huán)等)
類三要素:封裝、繼承、多態(tài)
PHP web應(yīng)用開發(fā)分兩端:前端Html+Css+JavaScript靜態(tài)頁面或UI框架美工平面設(shè)計(jì),后臺PHP+MySQL動態(tài)網(wǎng)頁設(shè)計(jì)或交互式數(shù)據(jù)處理
php知識要點(diǎn):函數(shù)、數(shù)組、面向?qū)ο?/p>
php運(yùn)行開發(fā)環(huán)境:lwamp集成運(yùn)行環(huán)境Linux/Windows+Apache+MySQL+PHP;嚴(yán)格區(qū)別普通代碼編輯器的PHP源代碼錯誤檢查調(diào)試和應(yīng)用程序項(xiàng)目工程測試IDE集成開發(fā)環(huán)境ZendStudio/PhpStorm
php入門學(xué)習(xí)路線:自定義搭建PHP運(yùn)行開發(fā)環(huán)境奠基石——〉肓打敲代碼找感覺——〉GUI圖形界面即見即所得設(shè)計(jì)開發(fā)項(xiàng)目掌握OOP面向?qū)ο缶幊趟枷搿蹬嘤?xùn)學(xué)習(xí)與實(shí)戰(zhàn)開發(fā)分兩個平臺同步推進(jìn)——〉仿站與原創(chuàng)相結(jié)合——〉MVC框架結(jié)構(gòu)基礎(chǔ)工程規(guī)范開發(fā)兼顧前端UI框架裝修工程個性化開發(fā)
2.編程教你如何思考:20年自學(xué)編程的經(jīng)歷告訴了自己,自學(xué)編程是一個艱苦的過程,同時也是一個勵志的過程,但編程是一門藝術(shù),而不是純技術(shù)。思想比代碼重要。機(jī)器用來干活,人應(yīng)該去思考。濃厚興趣+正確方法=快速入門,e課程+ e課本+ pc測試+ pc項(xiàng)目開發(fā)= 入門+ 精通。編程是什么?編程就是用英語寫一段文字或作一篇作文。要想快速入門,英語不能太差,定TA個小目標(biāo):快速閱讀、快速實(shí)驗(yàn)、快速通讀,一理通百理明,10天培養(yǎng)感覺、30天培養(yǎng)興趣,100天訓(xùn)練編程思維和具備編程思想,200天整出個象樣的Web Apps項(xiàng)目來
3.大道至簡,精進(jìn)極致:Web開發(fā)基于面向?qū)ο驩op思想,以大道至簡的理念,用輕量級工具(IDE)開發(fā)高大上干貨(App),炫酷大氣而又平滑簡約,但簡約不簡單。“界面友好、代碼優(yōu)雅、系統(tǒng)穩(wěn)定”是MIS程序員永恒的追求,MIS的功能性、實(shí)用性、穩(wěn)定性三者相互制約,如何拿捏分寸?全靠深入實(shí)踐和適應(yīng)業(yè)務(wù)需求,跟上時代的潮流
4.Web應(yīng)用開發(fā)速成三要素:看教程(視頻)、讀程序(文檔)、驗(yàn)代碼(測試),反反復(fù)復(fù),以完成開發(fā)項(xiàng)目工程demo演練為學(xué)習(xí)開發(fā)計(jì)劃總進(jìn)度,帶著開發(fā)過程中的疑問來學(xué)習(xí)平臺反復(fù)實(shí)驗(yàn)論證完成學(xué)習(xí)任務(wù),不斷完善項(xiàng)目工程規(guī)劃圖來細(xì)分學(xué)習(xí)與開發(fā)的各模塊各階段各要點(diǎn)按項(xiàng)目開發(fā)一、二級網(wǎng)絡(luò)計(jì)劃持續(xù)推進(jìn)學(xué)習(xí)進(jìn)度
5.Web應(yīng)用開發(fā)過程:腳本編輯調(diào)試、靜態(tài)網(wǎng)頁仿站相關(guān)技巧、UI友好設(shè)計(jì)、視圖美工模塊化、動態(tài)網(wǎng)頁原生代碼編寫或模板框架實(shí)現(xiàn)MVC或整站下載內(nèi)容資料快捷生成源代碼、非大型框架的函數(shù)式結(jié)構(gòu)化編程、框架式項(xiàng)目工程開發(fā)。具體操作來說,前端靜態(tài)處理可用Firefox扒下網(wǎng)頁內(nèi)容歸類收集靜態(tài)頁面資料進(jìn)行仿站編輯二次開發(fā),也可以用DW+Ps完成美工設(shè)計(jì)或WebStorm或HBuilder→html5、css3、js 原生代碼開發(fā)原創(chuàng)WebApp靜態(tài)頁面,后端動態(tài)開發(fā)設(shè)計(jì)用非圖形界面Oop開發(fā)環(huán)境IDE工具ZendStudio或PhpStorm→編寫WebApp開發(fā)項(xiàng)目源代碼,快速搭建框架推薦圖形界面可視化開發(fā)利器 Dreamweaver? CS6 所見即所得設(shè)計(jì)開發(fā),可以是自建框架結(jié)構(gòu)化編程完成項(xiàng)目,也可以借助TinkPHP框架或Smarty模板開發(fā)項(xiàng)目。特別要強(qiáng)調(diào)的是DW,中文名稱 “夢想編織者”,是美國MACROMEDIA公司開發(fā)的集網(wǎng)頁制作和管理網(wǎng)站于一身的所見即所得網(wǎng)頁編輯器,DW是第一套針對專業(yè)網(wǎng)頁設(shè)計(jì)師可視化美工網(wǎng)頁開發(fā)工具,利用“拖拽”功能可以輕而易舉地制作出靜態(tài)或動態(tài)網(wǎng)頁,完全可以作為Web前端開發(fā)的輔助工具也可以作為入門者通過GUI圖形界面學(xué)習(xí)面向?qū)ο缶幊痰暮脦褪帧?/p>
6.PHP學(xué)習(xí)開發(fā):盡量用面向?qū)ο驩op思路著手開發(fā)項(xiàng)目,先模塊化封裝類,再力爭以通用、快捷調(diào)用類方法來提高開發(fā)效率,用大道至簡的開發(fā)設(shè)計(jì)理念入手WebApp 開發(fā)。學(xué)習(xí)與開發(fā)按網(wǎng)頁設(shè)計(jì)內(nèi)容分為靜態(tài)與動態(tài)兩大類設(shè)計(jì)編程課程,靜態(tài)網(wǎng)頁學(xué)習(xí)內(nèi)容基礎(chǔ)部分課程可參考HTML+CSS+JS實(shí)戰(zhàn),動態(tài)網(wǎng)頁學(xué)習(xí)內(nèi)容基礎(chǔ)部分課程參考PHP經(jīng)典實(shí)例開發(fā),項(xiàng)目開發(fā)實(shí)戰(zhàn)參考PHP面向?qū)ο箜?xiàng)目,大公司多人同時開發(fā)同一項(xiàng)目時,為了讓前端美工開發(fā)代碼簡潔明了,快捷專注靜態(tài)頁面設(shè)計(jì),可采用模板規(guī)范開發(fā)機(jī)制專業(yè)化規(guī)劃項(xiàng)目開發(fā)工程,App模板開發(fā)參考Smarty全面掌握視頻教程,App框架開發(fā)理論知識學(xué)習(xí)參考TinkPHP專題
7.選擇合適的開發(fā)工具:工欲善其事,必先利其器。只有幾兆字節(jié)的輕量級非圖形界面Opp集成開發(fā)工具首選超級記事本Notepad++ v7.3.2(2.8MB);本土化國產(chǎn)開發(fā)工具首選HBuilder v7.6.5(3.67MB);國際化標(biāo)準(zhǔn)開具首選ZendStudio v13.5(320MB)或PHPstorm v2016.3.2(203MB);輔助開發(fā)工具首選Smarty v3.1.30(0.79MB )官方推薦模板、國產(chǎn)ThinkPHP v3.2.3(1.08MB)框架;博客、內(nèi)容管理系統(tǒng)CMS首選WordPress v4.7.2(8.9MB);圖形界面數(shù)據(jù)庫管理系統(tǒng)首選官方推薦PhpMyadminv4.6.6(11MB);初學(xué)者入門GUI美工開發(fā)利器DW+PHP組合設(shè)計(jì)動態(tài)網(wǎng)站,開發(fā)瀏覽器首選Firefox火狐 。學(xué)習(xí)途徑e課堂:北有慕課網(wǎng)/51CTO/南有騰訊課堂/職坐標(biāo),首選51CTO學(xué)習(xí)與海量資源下載
8.零基礎(chǔ)快速入門方法技巧:充分發(fā)揮個性化本地PHP學(xué)習(xí)開發(fā)環(huán)境資源優(yōu)勢,同時創(chuàng)建學(xué)習(xí)與開發(fā)兩個作業(yè)平臺,學(xué)習(xí)平臺(ZendStudio工作空間)d:\PhpStudy\www與開發(fā)平臺(本人開發(fā)空間rk.com人可工作室)d:\PhpRE\www\rk相結(jié)合,課程學(xué)習(xí)與App項(xiàng)目開發(fā)兩不誤相結(jié)合,把學(xué)習(xí)平臺的實(shí)驗(yàn)結(jié)果及時提供給項(xiàng)目工程開發(fā)使用和檢驗(yàn),反用App項(xiàng)目開發(fā)來論證和檢驗(yàn)學(xué)習(xí)效果,及時調(diào)整學(xué)習(xí)方法和思路,提高學(xué)習(xí)效率,培養(yǎng)編程興趣,用每天課程代碼測試的成就感提精氣神、促進(jìn)快樂編程,用成功促進(jìn)更大的成功
9.代碼遷移的兼容性問題:2015年12月3日正式發(fā)布的PHP7.0.0向下兼容高達(dá)99.9%,但是,目前能穩(wěn)定運(yùn)行的應(yīng)用程序及公開課上講解的方法多半是老版本代碼,Web學(xué)習(xí)與開發(fā)過程中,下載后欲直接遷移或復(fù)制粘貼在PHP7運(yùn)行環(huán)境的非原生代碼必須先通過最新版本的ZendStudio13.5或PhpStorm2016.3檢測,測試成功后再用于開發(fā)新的應(yīng)用程序。兼容性問題重點(diǎn)是數(shù)據(jù)庫相關(guān)的PDO應(yīng)用方面
10.輕松學(xué)習(xí)快樂編程:代碼如詩,編程好比作詩。類的“駝峰命名法”與“駝峰命令法”就好比詩歌的押韻,Dreamweaver自動生成源代碼就好比“魔術(shù)師”耍魔法。編程樂趣要有作詩的雅興和靈感,享受創(chuàng)作的快樂。快速入門,不等于急于求成。程序員在編程大海中沖浪、體驗(yàn)編程樂趣,勞逸結(jié)合,樂山樂水,每天有份輕松愉快的好心情,才能創(chuàng)造出富有價值的WebApp精品
11.思路決定出路:遇到新問題,不糾結(jié)不死纏著浪費(fèi)時間,停下來整理一下思路,或查查資料、充充電,利用外腦、換個辦法就會迎刃而解,收到意外效果。每次開發(fā)前先用小便箋寫下一兩句簡短思路,開始按思路逐條快速實(shí)驗(yàn),行不通又退出來再理新思路、換另一種新方法,直到問題破解。山重水復(fù)疑無路,柳暗花明又一村。這方法叫“便箋思路”開發(fā),小便箋能解決大問題
12.痛并快樂著:PHP是一門易學(xué)難精的語言,其實(shí)每一門編程語言又何嘗不是如此呢?程序員少不了挑燈夜戰(zhàn),獨(dú)自承受孤獨(dú)與寂寞。學(xué)習(xí)與開發(fā)三分熱度七分迷惑,每個程序員都有同樣的困惑,要決心成為一個合格的PHPer,學(xué)習(xí)與開發(fā)就要有煎熬痛苦和寂寞的準(zhǔn)備。俗話說“一生全憑自救自,無毅無志無功成”,入門時更是要有開發(fā)的信心和培養(yǎng)編程的樂趣,堅(jiān)持自己,痛并快樂著
二、PHP web應(yīng)用程序開發(fā)學(xué)習(xí)小結(jié)
1.數(shù)組Array()就是浴室柜號$key和柜子里衣物$value聲明一組數(shù)據(jù),聲明數(shù)組就是造一組柜子。數(shù)組輸出可用print_r()或打印函數(shù)命令var_dump();數(shù)組屬于非自定義函數(shù),與封裝自定義函數(shù)共同實(shí)現(xiàn)PHP功能和方法
2.表單或Js將前端提交靜態(tài)頁面信息通過$_POST提交數(shù)據(jù)傳遞指定參數(shù)給后臺php處理,$_GET獲取傳遞數(shù)據(jù)php輸出結(jié)果
3.非圖形化UI界面面向?qū)ο髮W(xué)習(xí)先從封裝類著手,從類的屬性與應(yīng)用上來認(rèn)識Oop并將對象應(yīng)用到WebApp開發(fā)中。OOPL ( Object- Oriented Programming Language ) 可以提高程序的封裝性、復(fù)用性、可維護(hù)性,但僅僅是“可以” ,能不能真正實(shí)現(xiàn)這些優(yōu)點(diǎn),還取決于編程和設(shè)計(jì)人員應(yīng)用程度。就PHP而言,其不是一門純粹的面向?qū)ο蟮恼Z言,但是仍然可以使用PHP寫出好的面向?qū)ο箫L(fēng)格的代碼。類是對象的抽象組織,對象是類的具體存在。實(shí)例化了類,產(chǎn)生了一個個對象和個體的實(shí)例化過程,實(shí)際上也就是從抽象的類到具體的對象過程。一個類的設(shè)計(jì)需要能充分展示其最重要的屬性和方法,并且能與其他事物相區(qū)分。只有類本身有意義,從抽象到具體的實(shí)例化才會有意義。類定義了一系列的屬性(私有)和方法(公有),并提供了實(shí)際的操作細(xì)節(jié),方法可以用來對屬性進(jìn)行加工,傳遞變量值給后續(xù)程序使用,并能讓子類繼承父類屬性。對象含有類屬性的具體值,這就是類的實(shí)例化。正是由于屬性的不同,才能區(qū)分不同的對象。快速入門建議用Dreamweaver圖形界面操作加深Oop的認(rèn)識和理解
(1)類的定義
class 類名{}
類名的命名方式和變量的命名方式一樣,第一個單詞首字母要進(jìn)行大寫
(2)類的修飾符
public 公有的 任何位置都可以訪問 默認(rèn)的
protected 受保護(hù)的 類內(nèi)子類可以訪問
private 私有的 類內(nèi)可以訪問
(3)類內(nèi)屬性
類內(nèi)定義的變量,要使用修飾符進(jìn)行修飾,否則會報錯誤
(4)類內(nèi)方法
類內(nèi)定義的函數(shù)
(5)構(gòu)造方法
用于給類進(jìn)行初始化的抽象工作,讓類具有一般性,一般用于給成員屬性進(jìn)行賦值,當(dāng)類創(chuàng)建對象時會被自動調(diào)用,注意“__”兩個下劃線元素不要寫錯,類被實(shí)例化就好比“耍魔術(shù)”會有震撼的效果被見證奇跡
public function __construct([參數(shù)列表]){}
(6)析構(gòu)方法
用于給類做些最后的處理工作,當(dāng)類的對象不再使用時會自動調(diào)用些方法
public function __destruct() {}
(7)類的實(shí)例化
對象名 = new 類名([參數(shù)列表]);
參數(shù)用于給構(gòu)造方法傳遞參數(shù)
(8)類內(nèi)成員屬性和方法的訪問
類內(nèi):
$this->屬性名[方法名];
$this代表當(dāng)前對象
(9)類外引用
$對象名->屬性名[方法名];
(10)static關(guān)鍵字 用于修改類內(nèi)的成員屬性或者靜態(tài)方法,被此關(guān)鍵字修改的屬性或者方法屬性是整個類的,不屬于任何一個對象
(11)類內(nèi)訪問
self::屬性名[方法名];
(12)類外訪問
類名::屬性名[方法名];
4.web 管理信息系統(tǒng)開發(fā)核心機(jī)制:借助MVC架構(gòu)開發(fā)MIS類似于表現(xiàn)在數(shù)據(jù)庫的三種關(guān)系,再復(fù)雜的業(yè)務(wù),表現(xiàn)在具體的前端、程序中,無外乎是四種動作,對數(shù)據(jù)庫操作的四種動作:增(Add)、刪(Delete)、改(Update)、查(Select)。更進(jìn)一步的,四種動作其實(shí)就兩種:讀和寫。查為讀,增、刪、改為寫,讀寫動作的操作頻繁度比例大約為十比一。
界面、頁面、樣式、腳本、程序、權(quán)限、數(shù)據(jù)庫、整體架構(gòu)、局部架構(gòu),自己想要的到底是什么樣子的?發(fā)揮好高級語言封裝、繼承、多態(tài)的特性,使架構(gòu)和程序更加的安全、易用、穩(wěn)定、高擴(kuò)展、高內(nèi)聚、低耦合且功能更強(qiáng)大。在開發(fā)過程中,應(yīng)該把自己遇到的暫時不好解決的問題及一閃而過的項(xiàng)目靈感等進(jìn)行記錄,然后在后面的修改擴(kuò)展中或者是下一個項(xiàng)目的開發(fā)中,吸收優(yōu)秀的處理經(jīng)驗(yàn)、竭力避免已經(jīng)出現(xiàn)過的問題。只有通過這樣的反復(fù)積累,自己在開發(fā)細(xì)節(jié)上的處理才會日趨完善。
PHP Web開發(fā)滿足移動辦公設(shè)備需要,在琳瑯滿目的Apps應(yīng)用中,相對C/S架構(gòu)桌面應(yīng)用領(lǐng)域而言,B/S架構(gòu)Web應(yīng)用領(lǐng)域更潮更為實(shí)用,已成為開發(fā)主流。
?
5.經(jīng)典PhpStorm IDE開發(fā)PHPWeb MIS流程(前端UI框架原生開發(fā)模式):
基本思路:優(yōu)化擴(kuò)展PHP功能應(yīng)用,在PHP目錄下全局安裝composer phar依賴包,可通過composer install/update直接在項(xiàng)目目錄下安裝更新whoops容錯處理技術(shù)、Medoo數(shù)據(jù)庫框架、PHPExcel類庫、Twig模板引擎等第三方應(yīng)用。通過觸發(fā)器init.php傳遞自定義常量和變量解決MIS前端UI框架內(nèi)頁聯(lián)動響應(yīng)問題等一系列開發(fā)疑難雜癥……
方法步驟:
全局安裝php依賴包c(diǎn)omposer->使用comporser創(chuàng)建項(xiàng)目架構(gòu)->PhpStorm本地開發(fā)
加載公共函數(shù)①+……
加載composer②+③+④+⑤
編程調(diào)試觸發(fā)器init.php集成①+②
M層引用③+④
V層引用H-ui或Layui前端框架靜態(tài)頁及類庫
C層引用⑤
①p($var)調(diào)試方法
②whoops捕獲出錯信息處理方法
③引用Medoo數(shù)據(jù)庫框架
require ‘vendor/autoload.php’;
// 初始化配置
$database = new medoo([? ? ‘database_type’ => ‘mysql’,? ? ‘database_name’ => ‘name’,? ? ‘server’ => ‘localhost’,? ? ‘username’ => ‘your_username’,? ? ‘password’ => ‘your_password’,? ? ‘charset’ => ‘utf8’]);
④擴(kuò)展PHPExcel類庫功能
用composer安裝或更新PHPExcel,靈活使用PHP~MySQL~Excel完成MIS數(shù)據(jù)轉(zhuǎn)換、導(dǎo)入、導(dǎo)出、查詢、圖表、打印等業(yè)務(wù)需求任務(wù)
⑤引用Twig模板
require_once ‘vendor/autoload.php’;? $loader = new Twig_Loader_Filesystem(‘/path/to/templates’);? $twig = new Twig_Environment($loader, array(? ? ? ‘cache’ => ‘/path/to/compilation_cache’,? ));? echo $twig->render(‘index.html’, array(‘name’ => ‘Fabien’));
邊想邊試邊調(diào)函數(shù)式結(jié)構(gòu)化編程,基于H-ui或Layui前端框架開發(fā),H5高大上UI及經(jīng)典模塊化編程
在項(xiàng)目上線發(fā)布投入應(yīng)用時,③+④可獨(dú)立于composer存放在項(xiàng)目核心子目錄中直接引用
⑥項(xiàng)目開發(fā)核心內(nèi)容
先選擇部署好前端UI框架后,再按需創(chuàng)建相應(yīng)的數(shù)據(jù)庫,最后剩下來要干的活就是“五步法”輕松搞定整個MIS開發(fā)工作
第一步:信息采集入庫(emp.xls等模板)
第二步:日常業(yè)務(wù)帶表頭標(biāo)題的普通電子表導(dǎo)出(默認(rèn)xl5便于轉(zhuǎn)換成dbf)實(shí)現(xiàn)無紙化作業(yè)
第三步:直接用PHPExcel導(dǎo)出圖形報表提供查詢使用或無紙化報表傳遞
第四步:按MIS實(shí)用業(yè)務(wù)需求取舍前端UI框架菜單項(xiàng)和內(nèi)頁,并美化或優(yōu)化框架操作界面,后臺由Medoo完成M層的數(shù)據(jù)庫管理,對業(yè)務(wù)信息增刪改查及V層的UI操作,實(shí)現(xiàn)業(yè)務(wù)邏輯與視圖關(guān)聯(lián),特別是要充分利用彈出框或彈出層解決業(yè)務(wù)操作流程引導(dǎo)或程序運(yùn)行狀態(tài)提示,確保用戶操作界面友好、實(shí)用、易用
第五步:通過第三方廠商類庫、插件優(yōu)化系統(tǒng),提升系統(tǒng)性能和穩(wěn)定性
⑦開發(fā)完畢,上線測試通過后用composer發(fā)布更新升級Apps到應(yīng)用商店
* 發(fā)布自己的Package
第一步:登陸github,創(chuàng)建項(xiàng)目
第二步:終端git clone 項(xiàng)目地址
第三步:進(jìn)入項(xiàng)目目錄,創(chuàng)建composer.json文件:執(zhí)行命令composer init即可
第四步:根據(jù)提示填寫完畢配置文件composer.json
* package name /
* description
* author
* minimum stability
* package type
* license
第五步命令:git add .
第六步命令:git commit -m”更改的描述”
第七步命令:git push
第八步:發(fā)布到packaglist.org,登陸自己的id
第九步:點(diǎn)擊右上角submit,然后粘貼github連接后,再點(diǎn)擊check
第十步:添加自動更新webhook
到 github項(xiàng)目,點(diǎn)擊settings
點(diǎn)擊左邊導(dǎo)航webhooks & services
點(diǎn)擊右邊的add services
搜索package
填寫user token,token可以再packagist得profile找到
粘貼token,然后addservice
然后點(diǎn)擊生成出來的package出現(xiàn)畫面
點(diǎn)擊test service,出現(xiàn)ok表示成功
備注:綁定完成后,當(dāng)你git提交更新后就會同步到package
后臺模板敏捷框架體驗(yàn)
體驗(yàn)地址:http://learun.cn:8090/
用戶名:System 密碼:0000
何朱必博客:www.hezhubi.com
轉(zhuǎn)載于:https://blog.51cto.com/hezhubi/1946940
總結(jié)
以上是生活随笔為你收集整理的PHPWeb开发入门体验学习笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LCD显示屏原理与应用
- 下一篇: 如何使用ES6中的参数