如何详细描述ThinkPHP框架的工作流程?