学海无涯——平日学习点滴摘录(php篇,1)

这个专栏会一直写下去。看到很多朋友的博客都会有自己学习的记录,感觉温故知新很重要。可能会按照知识点分成php、Linux、网络等等,以后会按时间加入。


服务端开发,特别是Web开发,基本上全是处理HTTP请求的处理。根据具体用途分为两种:Web页面开发和API接口开发。Web页面开发也完全可以看成是API接口开发,只是它的两个主要部分,页面和ajax请求,一个是返回html,另外一个可以返回html,也可以返回其他格式的而已。API接口开发是针对有客户端产品而言的。可能是移动设备,可能是PC应用等。

应用框架一般使用的是LNMP或者LAMP,基本的框架就是前端N台Web服务机 + cgi访问PHP + php访问mysql。
PHP可以看成是C写的一个大型的Web框架,它的优势在于解释型,即时修改即时更新。所以线上代码更新维护成本极低,加之其为web开发几乎是专门定制的一些函数,所以适合用于web开发。相较于java开发web服务,动不动就需要重新编译的痛苦就很知足了。web服务器现在nginx是越来越多使用,nginx比较apache的优势就在于轻便和静态页面的高并发性能。

Web前端机始终要访问持久化的数据的,mysql的使用是最为频繁的。其实所有的web服务说到底都是对数据库进行增删改查的操作。说到性能,数据库的增删改查操作的性能其实就决定了一切。所以对数据库的建表,索引的使用对一个网站来说尤为重要。觉得最有用的几个mysql的技巧有:
1 覆盖索引。就是想办法让查询操作只查索引而不去查表的索引建立方法。建立合适的索引和能只在索引就能找到数据的查询能提高效率。
2 InnoDB表最好能使用自增键,提高插入操作的效率。
3 string类型的变量的存储格式,是使用varchar还是char比较好,曾经有个项目表设计从char到varchar之后的数据库大小差别达到70G和20G的大小…
4 建表的时候需要考虑下以后的分库分表,如果是使用分表,什么是分表键?是否需要反向查询表?
5 甚至当考虑到数据库和Web机器的机房分布,这个设计就更麻烦了。

mysql的建表环节和需求有很大关系。没有明确的需求,表设计一定是不正确的。

框架其实都是MVC模式。需要对MVC有更深的理解才行。MVC最大的好处有一点就是多个视图能共享一个模型。

TP是一个国产的免费框架,可以先从这个框架入手。学习一个框架,不是要去看框架该怎么用,这个谁都知道~主要是要去了解框架的运行原理。

下面是我对MVC的一点理解。对于我写过的周报管理系统,以用户操作为例,用户的数据会穿插在程序的各个位置,为了使之更加OO,就需要一个叫UserModel的类把这些数据封装起来。页面展示就是一个View。这个V不只是一个给用户看的页面,还包括了基本的交互操作和对用户输入的基本判断。Control就是我们处理数据的场所了,在项目中就是我定义那几个api文件,user.php。。。这些。不过可能还是研究的不太深入,需要进一步通过开发经历去深入了解。

接下来可能更多的是实践了。跟青涛说的一样,做永远比看书来的靠谱。接下来一周事情可能比较少,自己争取用框架做些东西,感受一下。

继续加油!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值