Laravel
Composer 做包管理,可以很方便的引入项目,Laravel就用到了boris,whoops,monolog,swiftmailer和symfony下面的一批基础类
标准的 Autoload 实现,让 `include xxx.php` 成为历史
各种依赖注入,各个功能很少的耦合
ORM 支持
RESTful Routing
由一些简单的Service实现,通过Facade访问,很多常见的问题就可以处理
Blade 模板引擎
命令行驱动, 可以做到高度自动化
migration 数据库版本系统 和 seeding
模仿rails,舒适的开发体验和效率,缺点是性能略差
codeigniter
入门简单,性能低
yii
功能强大。查询出来的数据操作都是对象式的用chtml::listData()转化成数组。组件提高开发速度。
thinkphp
容易上手,db部分和route rest部分。
cakephp
简单
zend
超大超全的类库,运行速度有点慢,很多框架都留有zend类的接口
symfony
复杂
kohana
封装简单
speedphp
简单高效,有sae版,扩展方便,适合改造,速度也不错,开发社交游戏可用这个框架改造。
Phalcon
速度快,功能全面,性能最好,扩展形式安装
yaf
速度,自动加载. 支持全局和局部两种加载规则,需要编译个扩展
swoole
PHP的异步、并行、高性能网络通信引擎,为PHP多进程的模式设计了多个并发数据结构和IPC通信机制,包括了并发原子计数器,并发HashTable,Channel,Lock,进程间通信IPC等丰富的功能特性。有统一的唯一全局对象。
提供了很多类库工具,表单生成、输入验证和过滤,登录验证处理,JS生成,Ajax支持,调试工具,客户端操作,URL合并拆分工具等。
普通LAMP方式,最好安装APC等OPCode缓存。运行效率略低于thinkphp,但远超CodeIgniter,差不多是2倍以上。
如果以Server方式运行的Swoole,性能是Apache下的将近8-14倍。而且内存占用很少。
socket 服务器框架。被广泛的用于手机app、移动通讯,微信小程序,手游服务端、网络游戏、PHP聊天室、硬件通讯、智能家居、车联网、物联网等领域的开发。支持TCP长连接,支持Websocket、HTTP等协议,支持自定义协议。拥有异步Mysql、异步Redis、异步Http、异步消息队列等众多高性能组件。http://www.workerman.net
Lysine
RESTful web app开发框架
http://github.com/yeaha/Lysine2
golang
如何让coroutine的接口更好用
执行协程只需要极少的栈内存(大概是4~5KB),默认情况下,线程栈的大小为1MB。goroutine就是一段代码,一个函数入口,以及在堆上为其分配的一个堆栈。所以可以很轻松的创建上万个goroutine.
进程、线程、协程的关系和区别:
进程拥有自己独立的堆和栈,既不共享堆,亦不共享栈,进程由操作系统调度。
线程拥有自己独立的栈和共享的堆,共享堆,不共享栈,线程亦由操作系统调度(标准线程是的)。
协程和线程一样共享堆,不共享栈,协程由程序员在协程的代码里显示调度。
apache多进程,性能会随着连接数的增多而变差; node.js 非阻塞,异步IO
rust
模块化,编译器保证指出你的错误,可以避免内存泄漏
css3
新增加阴影,圆角度以及动画处理,包括平滑,旋转,缩放,3D倾斜等
amd和cmd
AMD 是 RequireJS 在推广过程中对模块定义的规范化产出。 CMD 是 SeaJS 在推广过程中对模块定义的规范化产出。类似的还有 CommonJS Modules/2.0 规范,是 BravoJS 在推广过程中对模块定义的规范化产出。目的都是为了 JavaScript 的模块化开发。
区别:
1. 对于依赖的模块,AMD 是提前执行,CMD 是延迟执行。 RequireJS 从 2.0 开始,也改成可以延迟执行。CMD 推崇 as lazy as possible.
2. CMD 推崇依赖就近,AMD 推崇依赖前置。
phploc
分析php框架 https://github.com/sebastianbergmann/phploc
ps:
laravel 5.3 中文文档
https://d.laravel-china.org/docs/5.3