PHP Web应用开发入门体验笔记

一、PHP web应用开发须知

1.入门要点

程序员三个阶段:码农(速成技能)->工程师(长期知识)->专家(研究论文)

编程三要素:声明变量(系统、全局、字段等)、数据算法(应用、比较、计算等) 、控制结构(变更、判断、循环等)

类三要素:封装、继承、多态

PHP web应用开发分两端:前端Html+Css+JavaScript静态页面或UI框架美工平面设计,后台PHP+MySQL动态网页设计或交互式数据处理

php知识要点:函数、数组、面向对象

php运行开发环境:lwamp集成运行环境Linux/Windows+Apache+MySQL+PHP;严格区别普通代码编辑器的PHP源代码错误检查调试和应用程序项目工程测试IDE集成开发环境ZendStudio/PhpStorm

php入门学习路线:自定义搭建phpRE运行开发环境奠基石——〉肓打敲代码找感觉——〉GUI图形界面即见即所得设计开发项目掌握OOP面向对象编程思想——〉培训学习与实战开发分两个平台同步推进——〉仿站与原创相结合——〉MVC框架结构基础工程规范开发兼顾前端UI框架装修工程个性化开发

2.编程教你如何思考:20年自学编程的经历告诉了自己,自学编程是一个艰苦的过程,同时也是一个励志的过程,但编程是一门艺术,而不是纯技术。思想比代码重要。机器用来干活,人应该独立思考。浓厚兴趣+正确方法=快速入门,e课程+ e课本+ pc测试+ pc项目开发= 入门+ 精通。编程是什么?编程就是用英语写一段文字或作一篇作文。要想快速入门,英语不能太差,定TA个小目标:快速阅读、快速实验、快速通读,一理通百理明,10天培养感觉、30天培养兴趣,100天训练编程思维和具备编程思想,200天整出个象样的Web Apps项目来

3.大道至简,精进极致:Web开发基于面向对象Oop思想,以大道至简的理念,用轻量级工具(IDE)开发高大上干货(App),炫酷大气而又平滑简约,但简约不简单。“界面友好、代码优雅、系统稳定”是MIS程序员永恒的追求,MIS的功能性、实用性、稳定性三者相互制约,如何拿捏分寸?全靠深入实践和适应业务需求,跟上时代的潮流

4.Web应用开发速成三要素:看教程(视频)、读程序(文档)、验代码(测试),反反复复,以完成开发项目工程demo演练为学习开发计划总进度,带着开发过程中的疑问来学习平台反复实验论证完成学习任务,不断完善项目工程规划图来细分学习与开发的各模块各阶段各要点按项目开发一、二级网络计划持续推进学习进度

5.Web应用开发过程:脚本编辑调试、静态网页仿站相关技巧、UI友好设计、视图美工模块化、动态网页原生代码编写或模板框架实现MVC或整站下载内容资料快捷生成源代码、非大型框架的函数式结构化编程、框架式项目工程开发。具体操作来说,前端静态处理可用Firefox扒下网页内容归类收集静态页面资料进行仿站编辑二次开发,也可以用DW+Ps完成美工设计或WebStorm或HBuilder→html5、css3、js 原生代码开发原创WebApp静态页面,后端动态开发设计用非图形界面Oop开发环境IDE工具ZendStudio或PhpStorm→编写WebApp开发项目源代码。项目开发可以用前端UI框架与PHP原生组件化编程完成项目,也可以借助Laravel框架开发

6.PHP学习开发:尽量用面向对象Oop思路着手开发项目,先模块化封装类,再力争以通用、快捷调用类方法来提高开发效率,用大道至简的开发设计理念入手WebApp 开发。学习与开发按网页设计内容分为静态与动态两大类设计编程课程,静态网页学习内容基础部分课程可参考HTML+CSS+JS实战,动态网页学习内容基础部分课程参考PHP经典实例开发,项目开发实战参考PHP面向对象项目,大公司多人同时开发同一项目时,为了让前端美工开发代码简洁明了,快捷专注静态页面设计,可采用模板规范开发机制专业化规划项目开发工程,App模板开发参考Smarty全面掌握视频教程,PHP Web App框架开发理论知识学习推荐Laravel框架

7.选择合适的开发工具:工欲善其事,必先利其器。只有几兆字节的轻量级非图形界面Opp集成开发工具首选超级记事本Notepad++ v7.3.2(2.8MB);本土化国产开发工具首选HBuilder v7.6.5(3.67MB);国际化标准开具首选ZendStudio v13.5(320MB)或PHPstorm v2018.1.1(203MB);框架开发工具首选Laravel框架;博客、内容管理系统CMS首选WordPress v4.9.5(8.9MB);图形界面数据库管理系统首选官方推荐PhpMyadminv4.8.0(11MB);初学者入门首选H-ui前端框架+PHP原生组件设计动态网站,开发浏览器首选Firefox火狐 。学习途径e课堂:北有慕课网/51CTO/南有腾讯课堂/职坐标,首选51CTO学习与海量资源下载

8.零基础快速入门方法技巧:充分发挥个性化本地PHP学习开发环境资源优势,搭建本地开发环境d:\PhpRE\www\rk,课程学习与App项目开发两不误相结合,把学习实验结果及时提供给项目工程开发使用和检验,反用App项目开发来论证和检验学习效果,及时调整学习方法和思路,提高学习效率,培养编程兴趣,用每天课程代码测试的成就感提精气神、促进快乐编程,用成功促进更大的成功

9.代码迁移的兼容性问题:2015年12月3日正式发布的PHP7.0.0向下兼容高达99.9%,但是,目前能稳定运行的应用程序及公开课上讲解的方法多半是老版本代码,Web学习与开发过程中,下载后欲直接迁移或复制粘贴在PHP7运行环境的非原生代码必须先通过最新版本的PhpStorm2018.1.1检测,测试成功后再用于开发新的应用程序。兼容性问题重点是数据库相关的PDO应用方面

10.轻松学习快乐编程:代码如诗,编程好比作诗。类的“驼峰命名法”与“驼峰命令法”就好比诗歌的押韵,Laravel优雅框架自动生成源代码就好比“魔术师”耍魔法。编程乐趣要有作诗的雅兴和灵感,享受创作的快乐。快速入门,不等于急于求成。程序员在编程大海中冲浪、体验编程乐趣,劳逸结合,乐山乐水,每天有份轻松愉快的好心情,才能创造出富有价值的WebApp精品

11.思路决定出路:遇到新问题,不纠结不死缠着浪费时间,停下来整理一下思路,或查查资料、充充电,利用外脑、换个办法就会迎刃而解,收到意外效果。每次开发前先用小便笺写下一两句简短思路,开始按思路逐条快速实验,行不通又退出来再理新思路、换另一种新方法,直到问题破解。山重水复疑无路,柳暗花明又一村。这方法叫“便笺思路”开发,小便笺能解决大问题

12.痛并快乐着:PHP是一门易学难精的语言,其实每一门编程语言又何尝不是如此呢?程序员少不了挑灯夜战,独自承受孤独与寂寞。学习与开发三分热度七分迷惑,每个程序员都有同样的困惑,要决心成为一个合格的PHPer,学习与开发就要有煎熬痛苦和寂寞的准备。俗话说“一生全凭自救自,无毅无志无功成”,入门时更是要有开发的信心和培养编程的乐趣,坚持自己,痛并快乐着

二、PHP web应用程序开发学习小结

1.数组Array()就是浴室柜号$key和柜子里衣物$value声明一组数据,声明数组就是造一组柜子。数组输出可用print_r()或打印函数命令var_dump();数组属于非自定义函数,与封装自定义函数共同实现PHP功能和方法

2.表单或Js将前端提交静态页面信息通过$_POST提交数据传递指定参数给后台php处理,$_GET获取传递数据php输出结果

3.非图形化UI界面面向对象学习先从封装类着手,从类的属性与应用上来认识Oop并将对象应用到WebApp开发中。OOPL ( Object- Oriented Programming Language ) 可以提高程序的封装性、复用性、可维护性,但仅仅是“可以” ,能不能真正实现这些优点,还取决于编程和设计人员应用程度。就PHP而言,其不是一门纯粹的面向对象的语言,但是仍然可以使用PHP写出好的面向对象风格的代码。类是对象的抽象组织,对象是类的具体存在。实例化了类,产生了一个个对象和个体的实例化过程,实际上也就是从抽象的类到具体的对象过程。一个类的设计需要能充分展示其最重要的属性和方法,并且能与其他事物相区分。只有类本身有意义,从抽象到具体的实例化才会有意义。类定义了一系列的属性(私有)和方法(公有),并提供了实际的操作细节,方法可以用来对属性进行加工,传递变量值给后续程序使用,并能让子类继承父类属性。对象含有类属性的具体值,这就是类的实例化。正是由于属性的不同,才能区分不同的对象。快速入门建议用Dreamweaver图形界面操作加深Oop的认识和理解

(1)类的定义

class 类名{}

类名的命名方式和变量的命名方式一样,第一个单词首字母要进行大写

(2)类的修饰符

public 公有的 任何位置都可以访问 默认的

protected 受保护的 类内子类可以访问

private 私有的 类内可以访问

(3)类内属性

类内定义的变量,要使用修饰符进行修饰,否则会报错误

(4)类内方法

类内定义的函数

(5)构造方法

用于给类进行初始化的抽象工作,让类具有一般性,一般用于给成员属性进行赋值,当类创建对象时会被自动调用,注意“__”两个下划线元素不要写错,类被实例化就好比“耍魔术”会有震撼的效果被见证奇迹

public function __construct([参数列表]){}

(6)析构方法

用于给类做些最后的处理工作,当类的对象不再使用时会自动调用些方法

public function __destruct() {}

(7)类的实例化

对象名 = new 类名([参数列表]);

参数用于给构造方法传递参数

(8)类内成员属性和方法的访问

类内:

$this->属性名[方法名];

$this代表当前对象

(9)类外引用

$对象名->属性名[方法名];

(10)static关键字 用于修改类内的成员属性或者静态方法,被此关键字修改的属性或者方法属性是整个类的,不属于任何一个对象

(11)类内访问

self::属性名[方法名];

(12)类外访问

类名::属性名[方法名];

4.web 管理信息系统开发核心机制:借助MVC架构开发MIS类似于表现在数据库的三种关系,再复杂的业务,表现在具体的前端、程序中,无外乎是四种动作,对数据库操作的四种动作:增(Add)、删(Delete)、改(Update)、查(Select)。更进一步的,四种动作其实就两种:读和写。查为读,增、删、改为写,读写动作的操作频繁度比例大约为十比一。

界面、页面、样式、脚本、程序、权限、数据库、整体架构、局部架构,自己想要的到底是什么样子的?发挥好高级语言封装、继承、多态的特性,使架构和程序更加的安全、易用、稳定、高扩展、高内聚、低耦合且功能更强大。在开发过程中,应该把自己遇到的暂时不好解决的问题及一闪而过的项目灵感等进行记录,然后在后面的修改扩展中或者是下一个项目的开发中,吸收优秀的处理经验、竭力避免已经出现过的问题。只有通过这样的反复积累,自己在开发细节上的处理才会日趋完善。

PHP Web开发满足移动办公设备需要,在琳琅满目的Apps应用中,相对C/S架构桌面应用领域而言,B/S架构Web应用领域更潮更为实用,已成为开发主流。

5.经典PhpStorm IDE开发PHPWeb MIS流程(前端UI框架原生开发模式):

基本思路:优化扩展PHP功能应用,在PHP目录下全局安装composer phar依赖包,可通过composer install/update直接在项目目录下安装更新whoops容错处理技术、Medoo数据库框架、PHPExcel类库、Twig模板引擎等第三方应用。通过触发器init.php传递自定义常量和变量解决MIS前端UI框架内页联动响应问题等一系列开发疑难杂症……

方法步骤:

全局安装php依赖包composer->使用comporser创建项目架构->PhpStorm本地开发

加载公共函数①+……

加载composer②+③+④+⑤

编程调试触发器init.php集成①+②

M层引用③+④

V层引用H-ui或Layui前端框架静态页及类库

C层引用⑤

①p($var)调试方法

②whoops捕获出错信息处理方法

③引用Medoo数据库框架

require 'vendor/autoload.php';

// 初始化配置

$database = new medoo([    'database_type' => 'mysql',    'database_name' => 'name',    'server' => 'localhost',    'username' => 'your_username',    'password' => 'your_password',    'charset' => 'utf8']);

④扩展PHPExcel类库功能

用composer安装或更新PHPExcel,灵活使用PHP~MySQL~Excel完成MIS数据转换、导入、导出、查询、图表、打印等业务需求任务

⑤引用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'));

边想边试边调函数式结构化编程,基于H-ui或Layui前端框架开发,H5高大上UI及经典模块化编程

在项目上线发布投入应用时,③+④可独立于composer存放在项目核心子目录中直接引用

⑥项目开发核心内容

先选择部署好前端UI框架后,再按需创建相应的数据库,最后剩下来要干的活就是“五步法”轻松搞定整个MIS开发工作

第一步:信息采集入库(emp.xls等模板)

第二步:日常业务带表头标题的普通电子表导出(默认xl5便于转换成dbf)实现无纸化作业

第三步:直接用PHPExcel导出图形报表提供查询使用或无纸化报表传递

第四步:按MIS实用业务需求取舍前端UI框架菜单项和内页,并美化或优化框架操作界面,后台由Medoo完成M层的数据库管理,对业务信息增删改查及V层的UI操作,实现业务逻辑与视图关联,特别是要充分利用弹出框或弹出层解决业务操作流程引导或程序运行状态提示,确保用户操作界面友好、实用、易用

第五步:通过第三方厂商类库、插件优化系统,提升系统性能和稳定性

⑦开发完毕,上线测试通过后用composer发布更新升级Apps到应用商店

    * 发布自己的Package

    第一步:登陆github,创建项目

    第二步:终端git clone 项目地址

    第三步:进入项目目录,创建composer.json文件:执行命令composer init即可

    第四步:根据提示填写完毕配置文件composer.json

        * package name /

        * description

        * author

        * minimum stability

        * package type

        * license

    第五步命令:git add .

    第六步命令:git commit -m"更改的描述"

    第七步命令:git push

    第八步:发布到packaglist.org,登陆自己的id

  第九步:点击右上角submit,然后粘贴github连接后,再点击check

  第十步:添加自动更新webhook

        到 github项目,点击settings

        点击左边导航webhooks & services

        点击右边的add services

        搜索package

        填写user token,token可以再packagist得profile找到

        粘贴token,然后addservice

        然后点击生成出来的package出现画面

        点击test service,出现ok表示成功

备注:绑定完成后,当你git提交更新后就会同步到package

欢迎访问何朱必博客:www.hezhubi.com

推荐阅读更多精彩内容