# 开发前必读 在你使用SD框架之前你需要了解 ## 了解swoole扩展 在使用本框架前,请认真仔细的去了解下[swoole扩展](http://www.swoole.com). ## 请求周期差异 PHP在Web应用中一次请求过后会释放所有的变量与资源 SD开发的应用程序在第一次载入解析后便常驻内存,使得类的定义、全局对象、类的静态成员不会释放,便于后续重复利用 ## 注意避免类和常量的重复定义 由于SD会缓存编译后的PHP文件,所以要避免多次require/include相同的类或者常量的定义文件。建议使用require_once/include_once加载文件。 ## 注意Task的单例模式 通过loader获取的task其实是个TaskProxy,TaskProxy为单例模式请使用时再获取。 ## 注意Controller的对象池模式 Controller是对象池模式,使用完后需要destroy,然后会被对象池回收。 ## 注意不要使用sleep、exit、die SD运行在PHP命令行模式下,当调用exit、die退出语句时,会导致当前进程退出。虽然子进程退出后会立刻重新创建一个的相同的子进程继续服务,但是还是可能对业务产生影响。 ## 平滑重启 使用reload命令会进行平滑重启,需要注意的是app文件夹中的所有文件基本都能进行平滑重启的升级