A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

gz_phper

  • 黑马币:70

  • 帖子:41

  • 精华:0

kumi 初级黑马 2017-9-19 00:00:01
161#
C:\Users\Administrator\Desktop\1.png
----"梵高"的作画,这条路越走越有趣
回复 使用道具 举报
第十六天课程主要给同学们讲解了:GD图像处理技术的基本介绍、GD扩展使用的准备工作、GD图像处理技术的基本操作、制作水印图案例、制作缩略图案例、制作验证码案例
今天的重点是:1)能够掌握创建画布相关的操作函数的用法;2)能够掌握画布操作相关函数的用法;3)能够掌握图像输出操作函数的用法;4)能够获得图片的宽高信息;5)能够理解并实现制作水印图;7)能够理解并实现缩略图的制作;8)能够理解并实现验证码的制作;
第十六天课程的函数和案例比较多,希望同学们课后多回顾案例中的操作,并自己实现这些案例以达到理解和熟悉相关操作函数的目的。

回复 使用道具 举报
今天宋耀冠同学给大家演讲的是他的偶像NBA巨星--小皇帝詹姆斯,讲述了詹姆斯的成绩和他的人品以及他的努力。
这些优良的品质是值得我们学习的











IMG_20170920_140915.jpg (262.51 KB, 下载次数: 13)

IMG_20170920_140915.jpg
回复 使用道具 举报
第十七天课程主要给同学们讲解了:面向过程与面向对象的基本介绍、类的定义、类成员的定义和使用、创建对象的原理、对象的比较问题、self关键字、构造方法和析构方法、对象的传值、对象的克隆
今天的重点是:1)能够理解面向过程和面向对象思想;2)能够掌握类的定义和类成员的定义;3)能够掌握对象的创建和类成员的使用;4)能够理解对象的相等和对象的全等比较的区别;5)能够理解$this的作用;7)能够理解self关键字的作用;8)能够掌握构造方法和析构方法的定义和使用;9)能够理解对象的值传递和引用传递;10)能够掌握克隆对象的操作;11)能够掌握__clone魔术方法的操作;
第十七天课程概念和细节知识点比较零散比较多,希望同学们课后跟着教学笔记中的各个总结,进行综合知识体系的把握,并有针对性的进行回顾学习。

回复 使用道具 举报
今天演讲是27期图王唐佳鸿,给大家讲了一些笑星,给大家紧张的学习生活带来了一些欢乐
给大家放松了一下心情










微信图片_20170921144423.png (323.71 KB, 下载次数: 14)

微信图片_20170921144423.png

微信图片_20170921144426.png (292.59 KB, 下载次数: 16)

微信图片_20170921144426.png
回复 使用道具 举报
第十八天课程主要给同学们讲解了:自动加载、类的继承、重写、final、抽象类、PHP中的接口
今天的重点是:1)能够理解和掌握自动加载以及自定义自动加载相关操作;2)能够掌握类的继承相关语法和特点;3)能够理解继承链的概念;4)能够掌握parent关键字的用法;5)能够理解和掌握访问限定修饰符的定义和特点;7)能够重写的概念;8)能够理解和掌握final类和final方法的用法;9)能够理解并掌握抽象类的定义和特点;10)能够理解和掌握PHP中的接口的语法和特点;
今天零散的概念和知识点依然非常多,希望同学们按照核心脉络先整体后细节的方法进行回顾。

回复 使用道具 举报
今天的演讲是邹恒谱和罗文斌两位同学,第一位同学给我们讲了我们要主动成长,并教了我们使用搜索引擎的一些小技巧
第二位同学给我们讲了一些毒鸡汤,毒鸡汤虽然包含调侃的意味,但是可以让我
们认清现实,让我们以努力的姿态去面对生活









回复 使用道具 举报
郭文鑫同学今天演讲的是健康生活,身为程序员的我们作息不规律,更应该注意这些问题
下面来看看郭同学教给我们的健康生活窍门









IMG_20170923_141505.jpg (264.11 KB, 下载次数: 13)

IMG_20170923_141505.jpg
回复 使用道具 举报
第十九天课程主要给同学们讲解了:静态延时绑定、PHP中的重载、面向对象的特性、单例模式、工厂模式、封装MYSQL操作类
今天的重点是:1)能够理解静态延时绑定的概念以及掌握其使用static的操作;2)能够理解PHP中的重载;3)能够掌握属性的重载操作;4)能够掌握方法的重载操作;5)能够理解面向对象的三大特性;7)能够理解单例模式并实现单例模式;8)能够理解工厂模式并实现工厂模式;9)能够实现封装MYSQL操作类;
今天案例操作部分的重点就是封装MYSQL操作类,希望同学们课后多进行回顾和练习。

回复 使用道具 举报
第二十天课程主要给同学们讲解了:对象的遍历、对象的序列化与反序列化、反射机制、命名空间
今天的重点是:1)能够理解默认的对象的遍历;2)能够理解和掌握自定义对象的遍历;3)能够理解和掌握对象的序列化与反序列化操作;4)能够掌握__sleep和__wakeup魔术方法;5)能够理解并掌握反射机制的实现;6)能够理解命名空间的概念;7)能够掌握命名空间的定义;8)能够掌握命名空间成员的三种访问方式;9)能够理解空间引入的概念;10)能够掌握空间类引入的操作;
今天操作的内容比较多,练习的内容比较少,在掌握当天知识内容之后,希望同学们积极回顾封装MYSQL操作类和面向对象基础部分的内容知识点。

回复 使用道具 举报
第二十一天课程主要给同学们讲解了:PDO的基本介绍、配置PDO扩展、PDO的基本操作、PDO中的事务、PDO中预处理技术、PDO中的异常处理
今天的重点是:1)能够理解并掌握PDO的基本操作,包括增、删、改、查等;2)能够掌握MYSQL中的事务操作;3)能够掌握和使用PDO进行事务操作;4)能够掌握MYSQL中的预处理操作;5)能够掌握PDO中的预处理操作技术;6)能够掌握PHP中的异常处理;7)能够理解并使用PDO进行异常处理;
今天实操知识比较多,希望同学们课后根据布置的作业进行练习,熟悉并掌握操作技能。

回复 使用道具 举报
PHP的学习未必只是局限在PHP的世界中,很多其他的语言也值得我们去涉猎。今天冯淦(gan去声)同学就将研究易语言的过程和工具使用给大家做了个分享。 首先介绍的是关于易语言的历史:基于Google的开发安卓的应用程序语言,属于组件式编程,当然不幸的是挂掉了~

然后介绍了E4a作为易语言的继承开发环境

当然,空讲理论没有价值,需要真刀真枪才能“干掉敌人”,于是就有了环境的应用以及代码的书写规范



很有爱有木有?分析非常的清晰到位,虽然不是现场演示,但是透过用心做的图片一目了然有木有??!!!
然而这些都是花架子,真正厉害的在于已经能够用这个语言做出效果来了!瞬间偶像了~

别问我为什么只放了一张帅气的分享者~因为我不!会!上!传!视!频!
也别问我为什么不正起来~因为我!不!会!







IMG_3945[1].JPG (226.55 KB, 下载次数: 22)

IMG_3945[1].JPG
回复 使用道具 举报
今天主要内容是讲了PDO的相关知识,晚自习在解决学生问题的同时,也看到了一些共同的问题,在此就PDO的作业:封装PDO类进行一些简单的说明。其实也算是一种学习经验的分享。
1、为什么要封装PDO类?
PDO已经是一套成熟的面向对象的扩展,也已经解决了对于不同数据库的完美连接问题,为什么还要再次封装?是不是只是为了掌握面向对象封装的技巧?答案:不全是,练习固然是一部分,但是不是全部。PDO的确已经能够解决很多问题,但是事实上在使用PDO的时候,会发现PDO用起来还是不怎么省心的:
①PDO的初始化比较麻烦,每次都需要写很多代码,例如初始化条件等;
②PDO在执行代码的过程中,错误处理很糟糕,因为默认静默模式。

基于以上两点,我们有必要在面向对象的路上再深入一点,实现以下需求:
①尽可能使用面向对象编程思想来编写PHP代码;
②希望能够实现简单的new PDO;
③希望在执行SQL指令的时候,能够用异常的方式告知错误原因。

2、如何封装一个类?
类的封装是将数据和数据的操作捆绑在一起,形成对外界的隐蔽,但是又提供对外操作的接口。那么要制作一个类就应该遵循这些特征:
①数据:在类中用属性保存(名词:如姓名)
②方法:在类中以方法存在(动词:如吃饭)
③捆绑在一起:同属于一类的东西,放到一个类结构中(如人的眼睛、鼻子和头发,又如人会生火、直立行走等)
④对外界隐蔽:尽可能的增加类对成员的控制(private > protected > public),如果确定外部用不到的一定要private
⑤提供对外操作接口:public可以在类外访问,用户会用的,但是不确定会怎么用的(增删改查)

3、PDO类的二次封装需要怎么做?
这个就是基于封装PDO的目的来实现
①面向对象来实现:所以针对PDO的封装是基于类来实现;
②实例化类得到对象后,就完成了PDO连接初始化操作:实例化得到对象后,对象第一时间会自动调用的方法是构造方法,言外之意,在新封装的类内部要完成PDO连接认证操作
        1)连接是否需要条件?----------------------->属性保存条件
        2)连接条件是否需要外部改变?-------------->构造方法参数传递进来(如何传递?单个或者数组)
        3)是否允许外部不提供?--------------------->默认值使用
        4)如何连接?--------------------------------->可以直接在构造方法中new PDO也可以另起炉灶(理论上一个方法只做一件事情(越小越好))
③SQL执行错误检查
        1)什么方式报错?---------------------------->默认不报错(静默模式),使用异常模式(如何设置?)
        2)报哪些错?--------------------------------->错误编号,错误信息
        3)出错了还要不要继续执行?----------------->出错后终止代码继续向下执行
④对外接口提供:别人如何使用我们新封装的工具类
        1)允许实例化:公有化构造方法
        2)允许增删改查:理论上四个公共方法,但是事实上使用较多发现增删改对于系统而言都是写操作,做出的结果基本一致,可以归类;而查询通常分为查询一条记录和多条记录,执行逻辑(方法)不同,所以可以归类两个方法;
⑤优化代码
        1)找出公共代码,实现“瘦身”优化:重复执行的代码如果只有部分可控内容变化,那么可以进行代码的提取,形成公共代码(内部使用私有化)
        2)找出可能出错的地方,利用特殊方式来实现代码的容错性(PHP重载,数据验证等)

如果每次写一个类的时候,都去思考为什么要做?要做什么?以及要怎么做?最后怎么优化?这些问题的话,那么你写出来的类肯定是不冗余,而且是可以被别人拿来作为工具使用的。而且写多了之后,以后不单很好理解一些设计模式和编程思想,同时也能提升自己对于代码结构的控制和书写速度、书写质量。


点评

小马哥辛苦了 感谢无私分享 受益匪浅  发表于 2017-9-27 22:10
回复 使用道具 举报 1 0
第二十二天课程主要给同学们讲解了:模板技术原理介绍、SMARTY部署、SMARTY模板编译原理、SMARTY属性相关设置、SMARTY模板设计
今天的重点是:1)能够理解模板技术实现的基本原理;2)能够掌握并实现SMARTY的部署;3)能够理解SMARTY模板编译的原理;4)能够掌握SMARTY相关属性的设置;5)能够掌握模板变量的使用;6)能够掌握SMARTY系统变量的使用;7)能够掌握SMARTY内置函数的使用;8)能够掌握并使用SMARTY中主要的变量调节器;
今天操作的知识点比较丰富,希望同学们课后对知识点进行加强回顾,掌握操作技巧。

回复 使用道具 举报 1 0
gz_phper 发表于 2017-9-26 23:26
今天主要内容是讲了PDO的相关知识,晚自习在解决学生问题的同时,也看到了一些共同的问题,在此就PDO的作业 ...

应该做的~
回复 使用道具 举报
最近大家学习了模板技术Smarty,询问了很多同学,表示对其有一定了解,但是又不甚了解。其实这个是非常正常的现象,知识在没有真正运用之前总是觉得对其一知半解,只有到运用的时候才能更好的理解其精髓。

那么,在实际运用过程中如何使用模板技术呢?接下来我们就说道说道。

第一:了解模板技术的原理
        模板技术的本质其实是一种PHP代码与HTML分离,然后利用一些特殊符号在HTML嵌入对应的数据,最后利用PHP代码将对应的嵌入数据代码替换成真正的数据。学完了smarty我们就算知其然,了解了原理我们才能知其所以然。
        原理的理解必然是枯燥的,而且是痛苦的,而且好像很无用。因为实际运用的时候会发现,其实就是那么两三行代码就搞定了,非要通过原理解释搞的那么复杂。实际上就是这样,你用的越简单,意味着别人做的越复杂。就好像我们写代码,如果我们写的很粗糙,那么别人使用起来就会很不舒服,但是如果我们写的很详细,考虑的很周到,那么别人用起来就很傻瓜。既然我们是从事这一行,那么就必须接受要做一个复杂的人这一点。

第二:了解模板技术的运用
        模板技术发展到现在,已经不再是Smarty一家独大,很多框架都是自带模板技术的,但是本质的原理都是一样,无外乎有一点特意(更多的时候是为了证明这玩意儿是团队自己开发的,不是抄袭的)的小不同而已。因此,掌握了Smarty的应用,其他模板技术应用起来都是顺风顺水的。
         那到底怎么样算是掌握了模板技术的运用呢?so easy!{:8_492:}
        1、找到模板技术的应用入口:Smarty对应的就是Smarty类文件,在很多框架中如果是自带的,根本不用考虑,可以直接省略这一步;
        2、得到入口文件:Smarty是面向对象的,所以只要实例化得到对象即可(现在的PHP基本上都是面向对象的)。如果是框架本身自带,这一步依然可以省略;
        3、设定相关条件:不设定也是可以的,因为都会有默认值,但是最好根据自己的项目规范来设定一下,要设定的内容也不多,主要以下几项:
                ①:模板路径,这个是必须设定的,通常默认的路径都不会与实际开发项目一致,应用指数:★★★★★
                ②:编译目录,这个最好是设定一下,要不然默认路径可能不便于维护,应用指数:★★★★
                ③:缓存目录,这个与编译目录一样,通常在同级目录下,应用指数:★★★★
                ④:缓存生命周期和是否缓存,这两个内容是用来规范缓存的,而缓存是用来减少服务器压力的。但是缓存是需要根据项目实际需求来定的,如果项目对数据的实时性要求很高,通常不进行缓存(因为生成缓存是需要代价的);如果项目的数据的实时性要求不那么高,那么可以通过缓存来减少服务器的压力,然后通过缓存生命周期来设定缓存的更新迭代速度(开发环境通常不需要缓存,因为时刻在修改代码),应用指数:★★★★★
                ⑤:模板定界符,分为左右两个,默认的话绝大部分的模板技术都是“{}”,通常不需要改变,但是如果有一些js技术存在,如ajax或者jquery,那么也会存在{},就需要改变(现在js技术很流行,所以最好改变),应用指数:★★★★★
                补充:如果是框架自带的模板技术,通常可以找到对应的配置文件进行配置即可,不需要设定
        4、分配数据给模板:就是在有数据需要在HTML中解析的时候,把拿到的数据通过对应的assign方法(几乎所有模板技术都是这个方法),进行分配;
        5、模板解析数据:在HTML中利用设定要的定界符来实现数据的占位(理论上叫占位符,数据是模板技术在运行的时候自动替换)
        到以上为止,其实模板技术的应用就算是差不多了,总结一下就是:获取对象->设定属性->分配数据->解析数据。但是呢,有些数据比较复杂,比如说判定、循环等,所以还可以有一点其他内容;

        6、变量修饰器:对变量数据进行简单加工,如时间戳变时间等;
        7、内置函数:对数据进行复杂加工而已,如循环输出等。
        以上所有的内容,就算做是模板技术应用的一种思路,思路清楚后,其实即便是没有学过的内容,这个时候配上一个操作手册,可以完美解决问题的。

总结:总的来说,模板技术是比较简单的,但是要是实现复杂的模板技术本身是很复杂的。好在有这么多好人已经为我们程序员提供了遍历,因为我们更多的情况下是去应用这些技术而已。感谢那些大牛们吧!
回复 使用道具 举报
第二十三天和二十四天课程主要给同学们讲解了:什么是MVC、为什么使用MVC、MVC的实现和演变过程
MVC课程其实是一次将基础知识综合大应用的一个重要课程环节,通过实现一个小型的MVC框架,同学们需要掌握:1)MVC的原理和概念;2)MVC的基本结构;3)能够自主封装和实现父类模型(基础模型类);4)能够自主封装和实现父类控制器(基础控制器类)5)能够自主封装和实现核心框架类,并且在核心框架类中融入自动加载、单例工厂等功能元素6)能够自主封装和实现工具类的封装和使用;;
MVC是大家接触到的第一个完整的综合应用,代码量比较大,演变过程复杂,需要同学们课后进行大量的回顾练习,通过实际操作,实现MVC框架,以达到理解和掌握完整的MVC思想和框架技术。

回复 使用道具 举报
水水水,1234567
回复 使用道具 举报
2017-10-12
php27期博客项目阶段结束,晚上迎来了传说中的阶段考试。似乎眉头紧锁面露难色


整个班都在十分认真地完成题目


明天休息过后,就要迎来新一轮的挑战--中级项目!




WechatIMG724.jpeg (272.06 KB, 下载次数: 13)

WechatIMG724.jpeg

WechatIMG724_meitu_1.jpg (277.9 KB, 下载次数: 13)

WechatIMG724_meitu_1.jpg
回复 使用道具 举报
加油
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马