什么是框架???(利用ThinkPHP 来理解框架的含义)
1、框架是构成一类特定软件的可复用设计的一组相互协作的类;
譬如:ThinkPHP 框架,就是针对Web系统软件设计的一组相互协作的类库集合;
2、框架规定了你的应用的体系结构;定义了整体结构,类和对象的划分,各部分的主要职责,类和对象责任怎么协作,以及控制流程;
譬如:tp框架的类库
'app' => App::class,
'cache' => Cache::class,
'config' => Config::class,
'console' => Console::class,
'cookie' => Cookie::class,
'db' => Db::class,
'env' => Env::class,
'event' => Event::class,
'http' => Http::class,
'lang' => Lang::class,
'log' => Log::class,
'middleware' => Middleware::class,
'request' => Request::class,
'response' => Response::class,
'route' => Route::class,
'session' => Session::class,
'validate' => Validate::class,
'view' => View::class,
'think\DbManager' => Db::class,
'think\LogManager' => Log::class,
'think\CacheManager' => Cache::class,
// 接口依赖注入
'Psr\Log\LoggerInterface' => Log::class,
3、框架存在的意义:针对面向对象设计,实现代码复用率和扩展性高及可维护性强;
框架层次的类的复用导致了应用和他所基于的软件之间的反向控制
(ThinkPhp中用到的容器反射机制及依赖注入等设计)
4、框架存在的优缺点:
优点:能快速地建立应用,且应用之间能具有相似的结构,它们都是容易维护的;
缺点:开发者将失去一些表现创造性的自由,因为许多框架设计层面使用的模式框架开发人员自行决策的;