diff --git a/application/home/config/config.php b/application/home/config/config.php index 58ae201..77c3aee 100644 --- a/application/home/config/config.php +++ b/application/home/config/config.php @@ -16,8 +16,8 @@ return [ 'driver' => 'MySQLi', 'host' => '127.0.0.1', 'user' => 'root', - 'passwd' => 'root', - 'dbname' => 'hongzheng', + 'passwd' => '', + 'dbname' => '', 'prefix' => 'cms_', 'charset' => 'utf8' ], diff --git a/application/home/controller/Index.php b/application/home/controller/Index.php index 8caed59..442d660 100644 --- a/application/home/controller/Index.php +++ b/application/home/controller/Index.php @@ -13,7 +13,7 @@ class Index extends Common { public function index() { $model = model(Job::class); return [ - 'title' => '测试模型高级操作', + 'title' => '测试', 'lists' => $model->select(), 'query' => $model->sql ]; diff --git a/framework/Framework.php b/framework/Framework.php index b6e69dc..9aa4e8b 100644 --- a/framework/Framework.php +++ b/framework/Framework.php @@ -12,7 +12,8 @@ use top\library\App; * [] 为可选参数 * @author topnuomi 2018年11月19日 */ -class Framework { +class Framework +{ // 程序运行方式 private static $type = 1; @@ -24,7 +25,8 @@ class Framework { * 执行 * @param string $callable */ - public static function startApp($callable = '') { + public static function startApp($callable = '') + { header('content-type: text/html; charset=utf-8'); if (is_callable($callable)) { @@ -48,7 +50,8 @@ class Framework { * 是否开启DEBUG * @param bool $status */ - public static function debug($status = false) { + public static function debug($status = false) + { if (!defined('DEBUG')) { define('DEBUG', $status); } @@ -58,7 +61,8 @@ class Framework { * 指定框架目录 * @param string $path */ - public static function frameworkPath($path = '') { + public static function frameworkPath($path = '') + { if (!defined('FRAMEWORK_PATH')) { if (!$path) { $path = __DIR__ . '/'; @@ -71,7 +75,8 @@ class Framework { * 应用目录 * @param string $path */ - public static function appPath($path = '') { + public static function appPath($path = '') + { if (!defined('APP_PATH')) { if (!$path) { $path = './application/'; @@ -80,7 +85,8 @@ class Framework { } } - public static function appNameSpace($namespace = '') { + public static function appNameSpace($namespace = '') + { if (!defined('APP_NS')) { if (!$namespace) { $namespace = 'app'; @@ -93,7 +99,8 @@ class Framework { * 指定Resource目录 * @param string $path */ - public static function resourcePath($path = '') { + public static function resourcePath($path = '') + { if (!defined('RESOURCE')) { if (!$path && isset($_SERVER['SCRIPT_NAME'])) { $scriptName = $_SERVER['SCRIPT_NAME']; @@ -109,7 +116,8 @@ class Framework { * 指定默认访问位置 * @param string $module */ - public static function defaultModule($module) { + public static function defaultModule($module) + { self::$defaultModule = $module; } @@ -117,7 +125,8 @@ class Framework { * 指定程序运行方式 * @param int $type */ - public static function runType($type) { + public static function runType($type) + { self::$type = $type; } -} \ No newline at end of file +} diff --git a/framework/create/create.php b/framework/create/create.php index b1b9432..d4f12d1 100644 --- a/framework/create/create.php +++ b/framework/create/create.php @@ -1,6 +1,7 @@ name = $name; $this->dir = __DIR__ . '/'; $this->namespace = $namespace; @@ -25,7 +27,8 @@ class Create { $this->create(); } - public function replaceContent($content) { + public function replaceContent($content) + { return str_replace([ '{namespace}', '{name}' @@ -35,7 +38,8 @@ class Create { ], $content); } - public function createStartFile() { + public function createStartFile() + { if ($this->start && !file_exists($this->start)) { $content = file_get_contents($this->dir . 'tpl/index.tpl'); $content = $this->replaceContent($content); @@ -47,7 +51,8 @@ class Create { return true; } - public function createConfig() { + public function createConfig() + { $configPath = $this->projectPath . 'config/'; $configFile = $configPath . 'config.php'; $tagsFile = $configPath . 'tags.php'; @@ -71,7 +76,8 @@ class Create { return true; } - public function createMVC() { + public function createMVC() + { $dirArray = [ 'controller', 'model', @@ -110,7 +116,8 @@ class Create { } } - public function createFunctions() { + public function createFunctions() + { $file = $this->projectPath . 'functions.php'; if (!file_exists($file)) { if (!file_put_contents($file, "projectPath . '../route.php'; if (!file_exists($file)) { if (!file_put_contents($file, "createStartFile(); $this->createConfig(); $this->createMVC(); @@ -141,4 +150,4 @@ class Create { $namespace = (isset($argv[1]) && $argv[1]) ? $argv[1] : exit('please type namespace~'); $projectName = (isset($argv[2]) && $argv[2]) ? $argv[2] : exit('please type project name~'); $startFile = (isset($argv[3]) && $argv[3]) ? $argv[3] : false; -new Create($startFile, $namespace, $projectName); \ No newline at end of file +new Create($startFile, $namespace, $projectName); diff --git a/framework/create/tpl/config/config.tpl b/framework/create/tpl/config/config.tpl index e8ac786..9ec2e92 100644 --- a/framework/create/tpl/config/config.tpl +++ b/framework/create/tpl/config/config.tpl @@ -1,9 +1,9 @@ [ - 'Twig' => top\library\template\Twig::class, - // 'Smarty' => top\library\template\Smarty::class, - // 'Top' => top\library\template\Top::class, + 'Twig' => \top\library\template\driver\Twig::class, + // 'Smarty' => \top\library\template\driver\Smarty::class, + // 'Top' => \top\library\template\driver\Top::class, ], 'decorator' => [], 'session' => [ diff --git a/framework/create/tpl/controller/index.tpl b/framework/create/tpl/controller/index.tpl index acc8bf2..8735b9c 100644 --- a/framework/create/tpl/controller/index.tpl +++ b/framework/create/tpl/controller/index.tpl @@ -4,12 +4,14 @@ namespace app\{name}\controller; use top\library\Controller; use app\{name}\model\Demo; -class Index extends Controller { +class Index extends Controller +{ - public function index() { + public function index() + { $model = new Demo(); return [ 'data' => $model->get(1) ]; } -} \ No newline at end of file +} diff --git a/framework/create/tpl/index.tpl b/framework/create/tpl/index.tpl index e677d3f..655f2d7 100644 --- a/framework/create/tpl/index.tpl +++ b/framework/create/tpl/index.tpl @@ -2,13 +2,37 @@ use \top\Framework; -// 是否开启DEBUG模式 -define('DEBUG', true); -// APP目录 -define('APP_PATH', '../application/'); -// 框架目录 -define('FRAMEWORK_PATH', '../framework/'); -// 加载框架 require '../framework/Framework.php'; +// 可能你会使用到下面这些配置 + +// 调试模式,缺省值:false +// Framework::debug(true); +// 可使用常量DEBUG取得该值 + +// 项目目录,缺省值:./application/ +// Framework::appPath('../application/'); +// 可使用常量APP_PATH取得该值 + +// 项目命名空间,缺省值:app +// Framework::appNameSpace('app'); +// 可使用常量APP_NS取得该值 + +// 框架目录,缺省值:Framework.php的绝对路径 +// Framework::frameworkPath('../framework'); +// 可使用常量FRAMEWORK_PATH取得该值 + +// 静态资源目录,缺省值:/resource/ +// Framework::resourcePath('/resource/'); +// 可使用常量RESOURCE取得该值 + +// 当前入口文件默认模块,缺省值:home +// Framework::defaultModule('home'); + +// 路由模式,缺省值:1(pathinfo和兼容模式) +// Framework::runType(1); + +Framework::appPath('../application/'); + +// 执行程序 Framework::startApp(); diff --git a/framework/create/tpl/model/demo.tpl b/framework/create/tpl/model/demo.tpl index d3e2c9f..cb7273f 100644 --- a/framework/create/tpl/model/demo.tpl +++ b/framework/create/tpl/model/demo.tpl @@ -3,13 +3,15 @@ namespace app\{name}\model; use top\library\Model; -class Demo extends Model { +class Demo extends Model +{ protected $table = ''; protected $pk = ''; protected $map = []; - public function get($id) { + public function get($id) + { return $id; } -} \ No newline at end of file +} diff --git a/framework/decorator/InitDecorator.php b/framework/decorator/InitDecorator.php index f535e0e..0423551 100644 --- a/framework/decorator/InitDecorator.php +++ b/framework/decorator/InitDecorator.php @@ -12,13 +12,15 @@ use top\library\cache\FileCache; * * @author topnuomi 2018年11月20日 */ -class InitDecorator implements DecoratorIfs { +class InitDecorator implements DecoratorIfs +{ /** * 注册一些可能会用到的类 * @throws \Exception */ - public function before() { + public function before() + { $route = Register::get('Router'); $sessionConfig = Register::get('Config')->get('session'); @@ -67,7 +69,8 @@ class InitDecorator implements DecoratorIfs { /** * @param array $data */ - public function after($data) { + public function after($data) + { // TODO Auto-generated method stub } -} \ No newline at end of file +} diff --git a/framework/decorator/ReturnDecorator.php b/framework/decorator/ReturnDecorator.php index e1ea3d8..8466ef4 100644 --- a/framework/decorator/ReturnDecorator.php +++ b/framework/decorator/ReturnDecorator.php @@ -10,18 +10,20 @@ use top\library\Register; * * @author topnuomi 2018年11月22日 */ -class ReturnDecorator implements DecoratorIfs { +class ReturnDecorator implements DecoratorIfs +{ - public function before() { + public function before() + { // TODO Auto-generated method stub } /** * 布尔或数组则显示视图 * @param array $data - * @throws \top\library\exception\BaseException */ - public function after($data) { + public function after($data) + { // TODO Auto-generated method stub if (is_bool($data) && $data === true) $data = []; @@ -35,4 +37,4 @@ class ReturnDecorator implements DecoratorIfs { } } } -} \ No newline at end of file +} diff --git a/framework/decorator/StringDecorator.php b/framework/decorator/StringDecorator.php index 63a54e0..f027f29 100644 --- a/framework/decorator/StringDecorator.php +++ b/framework/decorator/StringDecorator.php @@ -6,12 +6,13 @@ use top\decorator\ifs\DecoratorIfs; /** * 辅助控制器的装饰器 - * * @author topnuomi 2018年11月22日 */ -class StringDecorator implements DecoratorIfs { +class StringDecorator implements DecoratorIfs +{ - public function before() { + public function before() + { // TODO Auto-generated method stub } @@ -19,11 +20,12 @@ class StringDecorator implements DecoratorIfs { * 字符串则直接输出 * @param array $data */ - public function after($data) { + public function after($data) + { // TODO Auto-generated method stub // 如果是字符串,直接echo if (!is_array($data) && !is_bool($data) && !is_object($data)) { echo $data; } } -} \ No newline at end of file +} diff --git a/framework/decorator/ifs/DecoratorIfs.php b/framework/decorator/ifs/DecoratorIfs.php index 9cac3ba..88f75a7 100644 --- a/framework/decorator/ifs/DecoratorIfs.php +++ b/framework/decorator/ifs/DecoratorIfs.php @@ -1,4 +1,5 @@ listRow = $listRow; $this->total = $total; $this->page = (isset($_GET['p']) && $_GET['p']) ? (int)$_GET['p'] : ((isset($_POST['p']) && $_POST['p']) ? (int)$_POST['p'] : 1); } - private function firstRow() { + private function firstRow() + { return ($this->page - 1) * $this->listRow; } - private function totalPage() { + private function totalPage() + { return ceil($this->total / $this->listRow); } - public function process() { + public function process() + { $this->totalPage = $this->totalPage(); $this->firstRow = $this->firstRow(); return $this; } - public function html() { + public function html() + { $url = Register::get('Route')->rawUri; // 链接没有匹配&或?,配置了伪静态也就无所谓了 $html = ''; return $html; } -} \ No newline at end of file +} diff --git a/framework/extend/Upload.php b/framework/extend/Upload.php index ecdf6d5..97e90c8 100644 --- a/framework/extend/Upload.php +++ b/framework/extend/Upload.php @@ -8,14 +8,16 @@ use top\library\Loader; * 文件上传类 * @author TOP糯米 */ -class Upload { +class Upload +{ private static $instance; private static $fileType; private static $dirName; private $image; private $error; - private function __construct() { + private function __construct() + { } /** @@ -24,7 +26,8 @@ class Upload { * @param string $fileType * @return Upload */ - public static function init($dirName, $fileType = '') { + public static function init($dirName, $fileType = '') + { if (!self::$instance) { self::$instance = new self(); } @@ -37,11 +40,13 @@ class Upload { * 获取错误信息 * @return string */ - public function getError() { + public function getError() + { return $this->error; } - public function uploadPicture($fileName = '', $width = 0, $height = 0, $waterFile = '') { + public function uploadPicture($fileName = '', $width = 0, $height = 0, $waterFile = '') + { if (!empty($_FILES)) { $data = []; $picture = Loader::model('Picture'); @@ -90,4 +95,4 @@ class Upload { $this->error = '请上传文件'; return false; } -} \ No newline at end of file +} diff --git a/framework/extend/Water.php b/framework/extend/Water.php index b5797a4..e0cc140 100644 --- a/framework/extend/Water.php +++ b/framework/extend/Water.php @@ -6,7 +6,8 @@ namespace top\extend; * 水印处理类 * @author TOP糯米 */ -class Water { +class Water +{ /** * 错误信息 * @var int|string|boolean @@ -19,14 +20,16 @@ class Water { */ private $waterPath = ''; - public function __construct() { + public function __construct() + { } /** * 获取错误信息 * @return int|string|boolean 错误信息 */ - public function getError() { + public function getError() + { return $this->error; } @@ -34,7 +37,8 @@ class Water { * 指定水印文件 * @param string $file [description] */ - public function waterFile($file = '') { + public function waterFile($file = '') + { $this->waterPath = $file; } @@ -44,7 +48,8 @@ class Water { * @param boolean $cover 是否覆盖原始图片 * @return string 文件名 */ - private function addWater($file, $cover) { + private function addWater($file, $cover) + { if ($this->waterPath == '') { $this->error = '请先调用waterFile方法来指定水印文件'; return false; @@ -103,7 +108,8 @@ class Water { * @param boolean $cover 是否覆盖原始图片,默认覆盖 * @return boolean 成功|失败 */ - public function handler($file = '', $cover = true) { + public function handler($file = '', $cover = true) + { if ($file == '') { $this->error = '请指定要处理的图片文件'; return false; @@ -116,4 +122,4 @@ class Water { return false; } } -} \ No newline at end of file +} diff --git a/framework/library/App.php b/framework/library/App.php index 1161142..88f9ecc 100644 --- a/framework/library/App.php +++ b/framework/library/App.php @@ -5,13 +5,16 @@ namespace top\library; use top\library\route\Command; use top\library\route\Pathinfo; -class App { +class App +{ /** + * 执行 * @param int $type * @param string $defaultModule */ - public static function start($type = 1, $defaultModule = 'home') { + public static function start($type = 1, $defaultModule = 'home') + { // 注册框架自动加载 require 'Loader.php'; $loader = new Loader(); @@ -52,4 +55,4 @@ class App { // 实例化路由 (new Router($routeDriver, $defaultModule))->handler(); } -} \ No newline at end of file +} diff --git a/framework/library/Config.php b/framework/library/Config.php index 88f2b99..f71a3fa 100644 --- a/framework/library/Config.php +++ b/framework/library/Config.php @@ -1,12 +1,13 @@ $value @@ -52,11 +57,12 @@ class Config { * @return array|mixed * @throws \Exception */ - public function get($name = '') { + public function get($name = '') + { // 加载文件 $module = Register::get('Router')->module; $file = APP_PATH . $module . '/config/config.php'; - if (! isset(self::$files[$file])) { + if (!isset(self::$files[$file])) { if (file_exists($file)) { $config = require $file; // 与原有的配置项合并 @@ -66,10 +72,10 @@ class Config { } if (empty($this->config) - || ! isset($this->config) - || ! $this->config - || ! isset($this->config[$name]) - || ! $this->config[$name] + || !isset($this->config) + || !$this->config + || !isset($this->config[$name]) + || !$this->config[$name] ) { return []; } @@ -79,10 +85,10 @@ class Config { /** * 从配置中删除某项 - * - * @param string $name + * @param string $name */ - public function _unset($name) { + public function _unset($name) + { unset($this->config[$name]); } -} \ No newline at end of file +} diff --git a/framework/library/Controller.php b/framework/library/Controller.php index b4d2a5f..221bca2 100644 --- a/framework/library/Controller.php +++ b/framework/library/Controller.php @@ -4,12 +4,14 @@ namespace top\library; /** * 基础控制器 - * * @author topnuomi 2018年11月23日 */ -abstract class Controller { +abstract class Controller +{ - public function __construct() {} + public function __construct() + { + } /** * 输出JSON数据 @@ -19,7 +21,8 @@ abstract class Controller { * @param array $ext * @return false|string */ - protected function json($msg, $code = 1, $data = [], $ext = []) { + protected function json($msg, $code = 1, $data = [], $ext = []) + { $array = [ 'msg' => $msg, 'code' => $code, @@ -34,7 +37,8 @@ abstract class Controller { * @param bool $status * @return $this */ - protected function cache($status = true) { + protected function cache($status = true) + { Register::get('View')->cache($status); return $this; } @@ -44,7 +48,8 @@ abstract class Controller { * @param $name * @param $value */ - protected function param($name, $value) { + protected function param($name, $value) + { Register::get('View')->param($name, $value); } @@ -55,7 +60,8 @@ abstract class Controller { * @param bool $cache * @return mixed */ - protected function fetch($file = '', $param = [], $cache = false) { + protected function fetch($file = '', $param = [], $cache = false) + { return Register::get('View')->fetch($file, $param, $cache); } @@ -63,7 +69,8 @@ abstract class Controller { * 跳转(非ajax) * @param $url */ - protected function redirect($url) { + protected function redirect($url) + { return redirect($url); } @@ -74,7 +81,8 @@ abstract class Controller { * @param int $sec * @return false|mixed|string */ - protected function tips($message, $url = '', $sec = 3) { + protected function tips($message, $url = '', $sec = 3) + { if (request()->isAjax()) { return $this->json($message, '', 'tips', ['url' => $url, 'sec' => $sec]); } else { @@ -88,4 +96,4 @@ abstract class Controller { ]); } } -} \ No newline at end of file +} diff --git a/framework/library/Database.php b/framework/library/Database.php index 63b7a07..8578492 100644 --- a/framework/library/Database.php +++ b/framework/library/Database.php @@ -6,10 +6,10 @@ use top\library\database\ifs\DatabaseIfs; /** * 数据库操作类 - * * @author topnuomi 2018年11月21日 */ -class Database { +class Database +{ // 数据库驱动 private static $driver; @@ -59,7 +59,8 @@ class Database { * @param $table * @param $pk */ - private function __construct($table, $pk) { + private function __construct($table, $pk) + { $driver = Register::get('DBDriver'); $this->config = $config = Register::get('Config')->get('db'); $this->table = $config['prefix'] . $table; @@ -67,7 +68,8 @@ class Database { $this->setDriver($driver, $this->config); } - private function __clone() { + private function __clone() + { // TODO: Implement __clone() method. } @@ -77,7 +79,8 @@ class Database { * @param DatabaseIfs $driver * @param array $config */ - private function setDriver(DatabaseIfs $driver, $config) { + private function setDriver(DatabaseIfs $driver, $config) + { self::$driver = $driver->connect($config); } @@ -87,7 +90,8 @@ class Database { * @param string $pk * @return mixed */ - public static function table($table, $pk = '') { + public static function table($table, $pk = '') + { if (!isset(self::$instance[$table])) { self::$instance[$table] = new self($table, $pk); } @@ -99,7 +103,8 @@ class Database { * @param $effect * @return \top\library\Database */ - public function effect($effect) { + public function effect($effect) + { $this->effect = $effect; return $this; } @@ -108,7 +113,8 @@ class Database { * @param $field * @return \top\library\Database */ - public function distinct($field) { + public function distinct($field) + { $this->distinct = $field; return $this; } @@ -118,7 +124,8 @@ class Database { * @param $field * @return \top\library\Database */ - public function field($field) { + public function field($field) + { $this->field = $field; return $this; } @@ -127,7 +134,8 @@ class Database { * 设置条件 * @return \top\library\Database */ - public function where() { + public function where() + { $where = func_get_args(); if (!empty($where)) { switch (count($where)) { @@ -156,7 +164,8 @@ class Database { * 设置排序 * @return \top\library\Database */ - public function order() { + public function order() + { $order = func_get_args(); if (!empty($order)) { if (count($order) > 1) { @@ -172,7 +181,8 @@ class Database { * 设置记录范围 * @return \top\library\Database */ - public function limit() { + public function limit() + { $limit = func_get_args(); if (!empty($limit)) { if (count($limit) > 1) { @@ -192,7 +202,8 @@ class Database { * @param string $name * @return \top\library\Database */ - public function join($type, $table, $name) { + public function join($type, $table, $name) + { $this->join[] = [ $type, $this->config['prefix'] . $table, @@ -206,7 +217,8 @@ class Database { * @param string $on * @return \top\library\Database */ - public function on($on) { + public function on($on) + { $this->on[] = $on; return $this; } @@ -217,7 +229,8 @@ class Database { * @param array $data * @return int|boolean */ - public function insert($data) { + public function insert($data) + { $result = self::$driver->insert($this->table, $data); return $result; } @@ -227,7 +240,8 @@ class Database { * @param bool $param * @return object */ - public function find($param = false) { + public function find($param = false) + { if (is_callable($param)) $param($this); $field = $this->getPk(); @@ -248,7 +262,8 @@ class Database { * @param callable|string|bool $param * @return array|boolean */ - public function select($param = false) { + public function select($param = false) + { if (is_callable($param)) $param($this); $field = $this->getPk(); @@ -272,7 +287,8 @@ class Database { * @param callable|string|bool $param * @return int|boolean */ - public function update($data, $param = false) { + public function update($data, $param = false) + { if (is_callable($param)) $param($this); $field = $this->getPk(); @@ -293,7 +309,8 @@ class Database { * @param callable|string|bool $param * @return int|boolean */ - public function delete($param = false) { + public function delete($param = false) + { if (is_callable($param)) { $param($this); } @@ -318,7 +335,8 @@ class Database { * @param $type * @return mixed */ - public function common($param, $type) { + public function common($param, $type) + { if (is_callable($param)) { $param($this); } @@ -340,7 +358,8 @@ class Database { * @param string $table * @return mixed */ - public function tableDesc($table = '') { + public function tableDesc($table = '') + { $table = ($table) ? $table : $this->table; if (!isset(self::$tableDesc[$table])) { self::$tableDesc[$table] = self::$driver->tableDesc($table); @@ -355,7 +374,8 @@ class Database { * @param string $query * @return resource|bool */ - public function query($query) { + public function query($query) + { $result = self::$driver->query($query); return $result; } @@ -365,14 +385,16 @@ class Database { * * @return string */ - public function _sql() { + public function _sql() + { return self::$driver->sql(); } /** * 重置查询条件 */ - private function _reset() { + private function _reset() + { $this->effect = ''; $this->distinct = ''; $this->field = ''; @@ -389,7 +411,8 @@ class Database { * * @return string */ - private function getPk() { + private function getPk() + { if (!$this->pk) { $tableInfo = $this->tableDesc(); $pk = ''; @@ -403,4 +426,4 @@ class Database { } return $this->pk; } -} \ No newline at end of file +} diff --git a/framework/library/Loader.php b/framework/library/Loader.php index 56a89f7..73fb402 100644 --- a/framework/library/Loader.php +++ b/framework/library/Loader.php @@ -2,15 +2,26 @@ namespace top\library; -class Loader { +class Loader +{ private $prefixes = []; - public function register() { + /** + * 注册自动加载 + */ + public function register() + { spl_autoload_register([$this, 'loadClass']); } - public function set($name, $path) { + /** + * 添加命名空间映射 + * @param $name + * @param $path + */ + public function set($name, $path) + { if (isset($this->prefixes[$name])) { array_push($this->prefixes[$name], $path); } else { @@ -18,7 +29,13 @@ class Loader { } } - private function loadClass($class) { + /** + * 尝试根据前缀和类名加载文件 + * @param $class + * @return bool + */ + private function loadClass($class) + { // 首次,将前缀等于当前类名 $prefix = $class; // 从最后一个反斜杠开始分割前缀与类名 @@ -38,7 +55,14 @@ class Loader { return false; } - private function loadFile($prefix, $class) { + /** + * 加载文件 + * @param $prefix + * @param $class + * @return bool + */ + private function loadFile($prefix, $class) + { // echo $class . '
'; $prefix = trim($prefix, '\\'); // 如果存在此前缀 @@ -58,4 +82,4 @@ class Loader { } return false; } -} \ No newline at end of file +} diff --git a/framework/library/Model.php b/framework/library/Model.php index dd918a6..3d79f02 100644 --- a/framework/library/Model.php +++ b/framework/library/Model.php @@ -2,13 +2,12 @@ namespace top\library; - /** * 基础模型 - * * @author topnuomi 2018年11月23日 */ -class Model { +class Model +{ // 数据库操作实例 private $db; @@ -47,7 +46,8 @@ class Model { * Model constructor. * @param string $table */ - public function __construct($table = '') { + public function __construct($table = '') + { if ($table) { $this->table = $table; } else if (!$this->table) { @@ -62,7 +62,8 @@ class Model { * @param $effect * @return $this */ - public function effect($effect) { + public function effect($effect) + { $this->db->effect($effect); return $this; } @@ -72,7 +73,8 @@ class Model { * @param $field * @return $this */ - public function distinct($field) { + public function distinct($field) + { $this->db->distinct($field); return $this; } @@ -82,7 +84,8 @@ class Model { * @param $field * @return $this */ - public function field($field) { + public function field($field) + { $this->db->field($field); return $this; } @@ -91,7 +94,8 @@ class Model { * 查询条件 * @return $this */ - public function where() { + public function where() + { call_user_func_array([ $this->db, 'where' @@ -103,7 +107,8 @@ class Model { * 排序 * @return $this */ - public function order() { + public function order() + { call_user_func_array([ $this->db, 'order' @@ -115,7 +120,8 @@ class Model { * 限制 * @return $this */ - public function limit() { + public function limit() + { call_user_func_array([ $this->db, 'limit' @@ -130,7 +136,8 @@ class Model { * @param $name * @return $this */ - public function join($type, $table, $name) { + public function join($type, $table, $name) + { $this->db->join($type, $table, $name); return $this; } @@ -140,7 +147,8 @@ class Model { * @param $on * @return $this */ - public function on($on) { + public function on($on) + { $this->db->on($on); return $this; } @@ -150,7 +158,8 @@ class Model { * @param array $data * @return bool */ - public function insert($data = []) { + public function insert($data = []) + { $this->isInsert = true; $data = $this->processData($data); if ($data) { @@ -167,7 +176,8 @@ class Model { * @param string|bool $param * @return number|boolean */ - public function delete($param = false) { + public function delete($param = false) + { return $this->db->delete($param); } @@ -177,7 +187,8 @@ class Model { * @param string|bool $param * @return bool */ - public function update($data, $param = false) { + public function update($data, $param = false) + { $this->isInsert = false; $data = $this->processData($data); if ($data) { @@ -195,7 +206,8 @@ class Model { * @param bool $notRaw * @return array */ - public function find($param = false, $notRaw = true) { + public function find($param = false, $notRaw = true) + { $result = $this->db->find($param); if ($notRaw) { if (is_array($result)) { @@ -211,7 +223,8 @@ class Model { * @param bool $notRaw * @return array */ - public function select($param = false, $notRaw = true) { + public function select($param = false, $notRaw = true) + { $result = $this->db->select($param); if ($notRaw) { if (is_array($result)) { @@ -226,7 +239,8 @@ class Model { * @param string $param * @return mixed */ - public function count($param = '') { + public function count($param = '') + { return $this->db->common($param, 'count'); } @@ -235,7 +249,8 @@ class Model { * @param string $param * @return mixed */ - public function avg($param = '') { + public function avg($param = '') + { return $this->db->common($param, 'avg'); } @@ -244,7 +259,8 @@ class Model { * @param string $param * @return mixed */ - public function max($param = '') { + public function max($param = '') + { return $this->db->common($param, 'max'); } @@ -253,7 +269,8 @@ class Model { * @param string $param * @return mixed */ - public function min($param = '') { + public function min($param = '') + { return $this->db->common($param, 'min'); } @@ -262,7 +279,8 @@ class Model { * @param string $param * @return mixed */ - public function sum($param = '') { + public function sum($param = '') + { return $this->db->common($param, 'sum'); } @@ -271,7 +289,8 @@ class Model { * @param $query * @return mixed */ - public function query($query) { + public function query($query) + { return $this->db->query($query); } @@ -280,7 +299,8 @@ class Model { * * @return string */ - public function _sql() { + public function _sql() + { return $this->db->_sql(); } @@ -290,7 +310,8 @@ class Model { * @param bool $notRaw * @return array|bool */ - public function data($data = [], $notRaw = true) { + public function data($data = [], $notRaw = true) + { $mapData = $this->processMapped($data); if ($mapData) { // 如果正确处理字段映射并且数据验证通过 if (!$notRaw) { @@ -318,7 +339,8 @@ class Model { * @param array $data * @return array|bool */ - private function processMapped($data = []) { + private function processMapped($data = []) + { $data = (empty($data)) ? $_POST : $data; foreach ($data as $key => $value) { foreach ($this->map as $k => $v) { @@ -340,7 +362,8 @@ class Model { * @param $data * @return array|bool */ - private function processData($data) { + private function processData($data) + { if (is_callable($data)) { // 如果$data是匿名函数,则处理$this->data()处理post的数据 $modelData = $this->data(); @@ -365,7 +388,8 @@ class Model { * @param array $data * @return array */ - private function inHandle($data) { + private function inHandle($data) + { $replace = ($this->isInsert) ? $this->insertHandle : $this->updateHandle; foreach ($replace as $key => $value) { $fieldValue = ''; @@ -405,7 +429,8 @@ class Model { * @param array $data * @return array */ - private function outHandle($data) { + private function outHandle($data) + { foreach ($this->outHandle as $key => $value) { if (count($data) == count($data, 1)) { if (array_key_exists($key, $data)) { @@ -431,7 +456,8 @@ class Model { * @param $data * @return bool */ - private function validate($data) { + private function validate($data) + { foreach ($this->validate as $key => $value) { if (is_array($value)) { if (count($value) == count($value, 1)) { @@ -459,7 +485,8 @@ class Model { * @param $data * @return bool */ - private function validateCallUserFunction($key, $validate, $data) { + private function validateCallUserFunction($key, $validate, $data) + { $funcName = $validate[0]; $tips = end($validate); // 将第一个值赋值为将要检查的值 @@ -484,7 +511,8 @@ class Model { * @param $table * @return mixed */ - public function tableDesc($table) { + public function tableDesc($table) + { return $this->db->tableDesc($table); } @@ -492,7 +520,8 @@ class Model { * 获取信息 * @return string */ - public function getMessage() { + public function getMessage() + { return $this->message; } @@ -501,7 +530,8 @@ class Model { * @param $name * @return array|mixed|null */ - public function __get($name){ + public function __get($name) + { $data = null; switch ($name) { case 'one': diff --git a/framework/library/Register.php b/framework/library/Register.php index d7e5902..a05a7df 100644 --- a/framework/library/Register.php +++ b/framework/library/Register.php @@ -4,19 +4,21 @@ namespace top\library; /** * 注册器 - * * @author topnuomi 2018年11月19日 */ -class Register { +class Register +{ // 存放类的变量 public static $register; - private function __construct() { + private function __construct() + { } - private function __clone() { + private function __clone() + { // TODO: Implement __clone() method. } @@ -27,7 +29,8 @@ class Register { * @param string $value * @return boolean */ - public static function set($name, $value) { + public static function set($name, $value) + { if (!isset(self::$register[$name])) { self::$register[$name] = $value(); } @@ -41,7 +44,8 @@ class Register { * @return mixed * @throws \Exception */ - public static function get($name, $param = []) { + public static function get($name, $param = []) + { if (!isset(self::$register[$name])) { throw new \Exception($name . '尚未注册'); } @@ -50,10 +54,10 @@ class Register { /** * 删除类实例 - * * @param string $name */ - public static function _unset($name) { + public static function _unset($name) + { unset(self::$register[$name]); } -} \ No newline at end of file +} diff --git a/framework/library/Router.php b/framework/library/Router.php index 3282cf4..82a0b86 100644 --- a/framework/library/Router.php +++ b/framework/library/Router.php @@ -11,10 +11,10 @@ use top\library\route\ifs\RouteIfs; /** * 路由类 - * * @author topnuomi 2018年11月19日 */ -class Router { +class Router +{ // 路由实例 private $route; @@ -39,7 +39,8 @@ class Router { * @param $default * @throws RouteException */ - public function __construct(RouteIfs $route, $default) { + public function __construct(RouteIfs $route, $default) + { $this->route = $route; $this->route->default = $default; $this->route->processing(); @@ -64,14 +65,16 @@ class Router { * 指定装饰器 * @param DecoratorIfs $decorator */ - private function decorator(DecoratorIfs $decorator) { + private function decorator(DecoratorIfs $decorator) + { $this->decorator[] = $decorator; } /** * 装饰器前置方法 */ - private function beforeRoute() { + private function beforeRoute() + { foreach ($this->decorator as $decorator) { $decorator->before(); } @@ -81,7 +84,8 @@ class Router { * 装饰器后置方法 * @param $data */ - private function afterRoute($data) { + private function afterRoute($data) + { $this->decorator = array_reverse($this->decorator); foreach ($this->decorator as $decorator) { $decorator->after($data); @@ -92,7 +96,8 @@ class Router { * 执行前进行必要检查 * @throws RouteException */ - private function check() { + private function check() + { // 检查模块是否存在 if (!is_dir(APP_PATH . $this->module)) { throw new RouteException('模块' . $this->module . '不存在'); @@ -110,7 +115,8 @@ class Router { /** * 调用方法并执行程序 */ - public function handler() { + public function handler() + { $userDecorators = Register::get('Config')->get('decorator'); $systemDecorators = [InitDecorator::class, ReturnDecorator::class, StringDecorator::class]; @@ -133,4 +139,4 @@ class Router { $this->afterRoute($data); } -} \ No newline at end of file +} diff --git a/framework/library/Template.php b/framework/library/Template.php index 84f3830..e332e82 100644 --- a/framework/library/Template.php +++ b/framework/library/Template.php @@ -1,14 +1,15 @@ template = $template->run(); } - private function __clone() { + private function __clone() + { // TODO: Implement __clone() method. } /** * 获取实例 - * - * @param TemplateIfs $template + * @param TemplateIfs $template * @return \top\library\Template */ - public static function instance($template) { - if (! self::$instance) { + public static function instance($template) + { + if (!self::$instance) { self::$instance = new self($template); } return self::$instance; @@ -47,7 +50,8 @@ class Template { * 是否开启页面静态缓存 * @param $status */ - public function cache($status) { + public function cache($status) + { $this->template->cache($status); } @@ -56,7 +60,8 @@ class Template { * @param $name * @param $value */ - public function param($name, $value) { + public function param($name, $value) + { $this->param[$name] = $value; } @@ -67,8 +72,9 @@ class Template { * @param $cache * @return mixed */ - public function fetch($file, $param, $cache) { + public function fetch($file, $param, $cache) + { $param = array_merge($param, $this->param); return $this->template->fetch($file, $param, $cache); } -} \ No newline at end of file +} diff --git a/framework/library/View.php b/framework/library/View.php index 96978b3..9ccb2dd 100644 --- a/framework/library/View.php +++ b/framework/library/View.php @@ -4,10 +4,10 @@ namespace top\library; /** * 基础视图类 - * * @author topnuomi 2018年11月22日 */ -class View { +class View +{ private static $instance; @@ -18,10 +18,12 @@ class View { private $template; /** + * 获取实例 * @return View * @throws \Exception */ - public static function instance() { + public static function instance() + { if (!self::$instance) { self::$instance = new self(); } @@ -32,13 +34,15 @@ class View { * View constructor. * @throws \Exception */ - private function __construct() { + private function __construct() + { $this->config = Register::get('Config')->get('view'); $driver = Register::get($this->config['engine']); $this->template = Template::instance($driver); } - private function __clone() { + private function __clone() + { // TODO: Implement __clone() method. } @@ -47,7 +51,8 @@ class View { * @param $name * @param $value */ - public function param($name, $value) { + public function param($name, $value) + { $this->template->param($name, $value); } @@ -55,7 +60,8 @@ class View { * 页面静态缓存,直接调用默认为开启 * @param bool $status */ - public function cache($status = true) { + public function cache($status = true) + { $this->template->cache($status); } @@ -67,11 +73,12 @@ class View { * @return mixed * @throws \Exception */ - public function fetch($file = '', $param = [], $cache = false) { + public function fetch($file = '', $param = [], $cache = false) + { if (!$file) { $route = Register::get('Router'); $file = $route->ctrl . '/' . $route->action; } return $this->template->fetch($file, $param, $cache); } -} \ No newline at end of file +} diff --git a/framework/library/cache/File.php b/framework/library/cache/File.php index 30e5a56..bc4c69a 100644 --- a/framework/library/cache/File.php +++ b/framework/library/cache/File.php @@ -1,36 +1,42 @@ link = @mysqli_connect($config['host'], $config['user'], $config['passwd'], $config['dbname']); if ($link === false) { throw new DatabaseException(mysqli_connect_error()); @@ -44,12 +47,14 @@ class MySQLi implements DatabaseIfs { } /** + * 插入 * @param string $table * @param array $data * @return int|string * @throws \Exception */ - public function insert($table, $data) { + public function insert($table, $data) + { // TODO Auto-generated method stub if (count($data) == count($data, 1)) { // 一维数组 $query = 'insert into ' . $table; @@ -72,6 +77,7 @@ class MySQLi implements DatabaseIfs { } /** + * 更新 * @param string $table * @param array $join * @param array|string $on @@ -82,7 +88,8 @@ class MySQLi implements DatabaseIfs { * @return int * @throws \Exception */ - public function update($table, $join, $on, $where, $order, $limit, $data) { + public function update($table, $join, $on, $where, $order, $limit, $data) + { // TODO Auto-generated method stub $join = $this->processJoin($join, $on); $where = $this->processWhere($where); @@ -104,6 +111,7 @@ class MySQLi implements DatabaseIfs { } /** + * 查询一条记录 * @param string $table * @param $distinct * @param array|string $field @@ -114,7 +122,8 @@ class MySQLi implements DatabaseIfs { * @return array|null * @throws \Exception */ - public function find($table, $distinct, $field, $join, $on, $where, $order) { + public function find($table, $distinct, $field, $join, $on, $where, $order) + { // TODO Auto-generated method stub $join = $this->processJoin($join, $on); $distinct = $this->processDistinct($distinct); @@ -131,6 +140,7 @@ class MySQLi implements DatabaseIfs { } /** + * 查询所有记录 * @param string $table * @param $distinct * @param array|string $field @@ -142,7 +152,8 @@ class MySQLi implements DatabaseIfs { * @return array|null * @throws \Exception */ - public function select($table, $distinct, $field, $join, $on, $where, $order, $limit) { + public function select($table, $distinct, $field, $join, $on, $where, $order, $limit) + { // TODO Auto-generated method stub $join = $this->processJoin($join, $on); $distinct = $this->processDistinct($distinct); @@ -160,6 +171,7 @@ class MySQLi implements DatabaseIfs { } /** + * 删除 * @param array|string $effect * @param string $table * @param array $join @@ -170,7 +182,8 @@ class MySQLi implements DatabaseIfs { * @return int * @throws \Exception */ - public function delete($effect, $table, $join, $on, $where, $order, $limit) { + public function delete($effect, $table, $join, $on, $where, $order, $limit) + { // TODO Auto-generated method stub $effect = $this->effect($effect); $join = $this->processJoin($join, $on); @@ -188,7 +201,8 @@ class MySQLi implements DatabaseIfs { * @return array|bool|null * @throws \Exception */ - public function tableDesc($table) { + public function tableDesc($table) + { $sql = 'desc ' . $table; if (!$result = $this->query($sql)) { return false; @@ -198,6 +212,7 @@ class MySQLi implements DatabaseIfs { } /** + * 计数 * @param $table * @param $field * @param $join @@ -206,7 +221,8 @@ class MySQLi implements DatabaseIfs { * @return mixed * @throws \Exception */ - public function count($table, $field, $join, $on, $where) { + public function count($table, $field, $join, $on, $where) + { $field = $this->processField($field); $join = $this->processJoin($join, $on); $where = $this->processWhere($where); @@ -227,7 +243,8 @@ class MySQLi implements DatabaseIfs { * @return bool * @throws \Exception */ - public function common($table, $distinct, $field, $join, $on, $where, $type) { + public function common($table, $distinct, $field, $join, $on, $where, $type) + { $distinct = $this->processDistinct($distinct); if ($distinct) { $field = $distinct; @@ -252,7 +269,8 @@ class MySQLi implements DatabaseIfs { * @return bool|\mysqli_result * @throws \Exception */ - public function query($query) { + public function query($query) + { $result = mysqli_query($this->link, $query); if (!$result) throw new DatabaseException(mysqli_error($this->link)); @@ -265,11 +283,13 @@ class MySQLi implements DatabaseIfs { * * @return string */ - public function sql() { + public function sql() + { return trim($this->sql, ' '); } - public function effect($effect) { + public function effect($effect) + { if ($effect) { if (is_array($effect)) { $effect = implode(',', $effect); @@ -279,7 +299,8 @@ class MySQLi implements DatabaseIfs { return ''; } - private function processDistinct($distinct) { + private function processDistinct($distinct) + { if ($distinct) { if (is_array($distinct)) { $distinct = implode(',', $distinct); @@ -291,11 +312,11 @@ class MySQLi implements DatabaseIfs { /** * 组合字段 - * * @param string|array $field * @return string */ - private function processField($field) { + private function processField($field) + { if (!$field) { $field = '*'; } else if (is_array($field)) { @@ -306,12 +327,12 @@ class MySQLi implements DatabaseIfs { /** * 组合where条件 - * * @param array $array * @param string $glue * @return string */ - private function processWhere(array $array, $glue = 'and') { + private function processWhere(array $array, $glue = 'and') + { $where = []; foreach ($array as $value) { if (empty($value)) continue; @@ -351,11 +372,11 @@ class MySQLi implements DatabaseIfs { /** * 组合order - * * @param string $order * @return string */ - private function processOrder($order = '') { + private function processOrder($order = '') + { if ($order) { $order = ' order by ' . $order; } @@ -364,11 +385,11 @@ class MySQLi implements DatabaseIfs { /** * 组合limit - * * @param string $limit * @return string */ - private function processLimit($limit = '') { + private function processLimit($limit = '') + { if ($limit) { if (is_array($limit)) { $limit = ' limit ' . implode(',', $limit); @@ -381,12 +402,12 @@ class MySQLi implements DatabaseIfs { /** * 链接多表(join on) - * * @param array $data * @param string|array $on * @return string */ - private function processJoin($data, $on) { + private function processJoin($data, $on) + { $join = []; for ($i = 0; $i < count($data); $i++) { if (is_array($on[$i])) { @@ -408,11 +429,11 @@ class MySQLi implements DatabaseIfs { /** * 检查并处理空值 - * - * @param array|string $array - * @return array + * @param $value + * @return array|string */ - private function checkNull($value) { + private function checkNull($value) + { if (is_array($value)) { foreach ($value as $k => $v) { if (!is_numeric($v) && !$v) { @@ -431,7 +452,8 @@ class MySQLi implements DatabaseIfs { return $value; } - private function writeLogs($result, $query) { + private function writeLogs($result, $query) + { if (DEBUG) { $error = ''; if (!$result) { @@ -448,7 +470,8 @@ EOF; /** * 关闭数据库连接 */ - public function close() { + public function close() + { if ($this->link) { if (mysqli_close($this->link)) { return true; @@ -460,7 +483,8 @@ EOF; /** */ - public function __destruct() { + public function __destruct() + { $this->close(); } } diff --git a/framework/library/database/ifs/DatabaseIfs.php b/framework/library/database/ifs/DatabaseIfs.php index ae6d4bc..84d9c70 100644 --- a/framework/library/database/ifs/DatabaseIfs.php +++ b/framework/library/database/ifs/DatabaseIfs.php @@ -1,83 +1,77 @@ ' . $errfile . ' 第' . $errline . '行'; } else { $content = $errstr; } // throw new BaseException($errstr, 0, null, $errfile, $errline); - echo '

'.$content.'

'; + echo '

' . $content . '

'; } -} \ No newline at end of file +} diff --git a/framework/library/exception/BaseException.php b/framework/library/exception/BaseException.php index bf1b0cc..ae40f13 100644 --- a/framework/library/exception/BaseException.php +++ b/framework/library/exception/BaseException.php @@ -4,9 +4,11 @@ namespace top\library\exception; use Throwable; -class BaseException extends \Exception { +class BaseException extends \Exception +{ - public function __construct($message = "", $code = 0, Throwable $previous = null, $file = '', $line = '') { + public function __construct($message = "", $code = 0, Throwable $previous = null, $file = '', $line = '') + { if ($file) $this->file = $file; if ($line) { @@ -15,7 +17,8 @@ class BaseException extends \Exception { parent::__construct($message, $code, $previous); } - public function syntaxHighlight($code) { + public function syntaxHighlight($code) + { $code = preg_replace('/"(.*?)"/U', '"$1"', $code); $code = preg_replace('/(\s)\b(.*?)((\b|\s)\()/U', '$1$2$3', $code); $code = preg_replace('/(class)(.+)\s/', '$0', $code); @@ -33,7 +36,8 @@ class BaseException extends \Exception { * @param $line * @return string */ - private function readErrorFile($filename, $line) { + private function readErrorFile($filename, $line) + { $file = file($filename); $totalLine = count($file); $offset = 10; @@ -52,7 +56,8 @@ class BaseException extends \Exception { /** * @param \Exception|null $exception */ - public function handler($exception = null) { + public function handler($exception = null) + { if (DEBUG) { $message = htmlspecialchars($exception->getMessage()); $file = $exception->getFile(); @@ -242,7 +247,8 @@ EOF; exit; } - public function translateMessage($message) { + public function translateMessage($message) + { $message = str_ireplace( ['Undefined variable', 'Undefined offset', 'Undefined index', 'syntax error,', 'Use of undefined constant'], ['未定义变量', '未定义数组下标', '未定义数组索引', '语法错误:', '使用未定义常量:'], @@ -250,4 +256,4 @@ EOF; ); return $message; } -} \ No newline at end of file +} diff --git a/framework/library/exception/DatabaseException.php b/framework/library/exception/DatabaseException.php index fcd8c8a..6c77614 100644 --- a/framework/library/exception/DatabaseException.php +++ b/framework/library/exception/DatabaseException.php @@ -4,17 +4,21 @@ namespace top\library\exception; use Throwable; -class DatabaseException extends BaseException { - public function __construct($message = "", $code = 0, Throwable $previous = null) { +class DatabaseException extends BaseException +{ + public function __construct($message = "", $code = 0, Throwable $previous = null) + { $message = $this->processMessage($message); parent::__construct($message, $code, $previous); } - public function handler($exception = null) { + public function handler($exception = null) + { parent::handler($this); // TODO: Change the autogenerated stub } - private function processMessage($message) { + private function processMessage($message) + { $message = str_ireplace([ 'database', 'table', @@ -23,7 +27,7 @@ class DatabaseException extends BaseException { 'column', 'field', 'list' - ],[ + ], [ '数据库: ', '表', '不存在', @@ -34,4 +38,4 @@ class DatabaseException extends BaseException { ], $message); return $message; } -} \ No newline at end of file +} diff --git a/framework/library/exception/RouteException.php b/framework/library/exception/RouteException.php index 21ac344..0c5584b 100644 --- a/framework/library/exception/RouteException.php +++ b/framework/library/exception/RouteException.php @@ -4,8 +4,10 @@ namespace top\library\exception; use Throwable; -class RouteException extends BaseException { - public function __construct($message = "", $code = 0, Throwable $previous = null) { +class RouteException extends BaseException +{ + public function __construct($message = "", $code = 0, Throwable $previous = null) + { $message = $this->processMessage($message); parent::__construct($message, $code, $previous); } @@ -13,17 +15,19 @@ class RouteException extends BaseException { /** * @param \Exception $exception */ - public function handler($exception = null) { + public function handler($exception = null) + { parent::handler($this); // TODO: Change the autogenerated stub } - private function processMessage($message) { + private function processMessage($message) + { $message = str_replace([ 'Module', 'Controller', 'function', 'doesn\'t exist', - ],[ + ], [ '模块', '控制器', '方法', @@ -31,4 +35,4 @@ class RouteException extends BaseException { ], $message); return $message; } -} \ No newline at end of file +} diff --git a/framework/library/functions/functions.php b/framework/library/functions/functions.php index 85e0be2..29a6ef7 100644 --- a/framework/library/functions/functions.php +++ b/framework/library/functions/functions.php @@ -3,12 +3,14 @@ /** * 调用请求类 */ -function request() { +function request() +{ $request = \top\library\http\Request::instance(); return $request; } -function model($class) { +function model($class) +{ static $model = []; if (!isset($model[$class])) { if (class_exists($class)) { @@ -24,7 +26,8 @@ function model($class) { * print_r * @param array|string|int|object $value */ -function p($value) { +function p($value) +{ echo '
';
     print_r($value);
     echo '
'; @@ -34,7 +37,8 @@ function p($value) { * var_dump * @param array|string|int|object $value */ -function v($value) { +function v($value) +{ echo '
';
     var_dump($value);
     echo '
'; @@ -46,7 +50,8 @@ function v($value) { * @param string|int $param * @return string */ -function u($url, $param = '') { +function u($url, $param = '') +{ if (!empty($param) || is_numeric($param)) { if (is_array($param)) { $param = '/' . implode('/', $param); @@ -63,7 +68,8 @@ function u($url, $param = '') { * @param $classname * @return string */ -function get_table_name($classname) { +function get_table_name($classname) +{ $arr = explode('\\', $classname); $class = end($arr); $arr = str_split($class); @@ -81,7 +87,8 @@ function get_table_name($classname) { * 获取客户端IP * @return NULL|number|string */ -function get_client_ip() { +function get_client_ip() +{ return request()->ip(); } @@ -89,7 +96,8 @@ function get_client_ip() { * 页面跳转 * @param $url */ -function redirect($url) { +function redirect($url) +{ header('location: ' . u($url)); exit; } @@ -98,7 +106,8 @@ function redirect($url) { * 删除目录(包括子目录) * @param string $dirName */ -function remove_dir($dirName) { +function remove_dir($dirName) +{ $handle = @opendir($dirName); if ($handle) { while (false !== ($item = readdir($handle))) { @@ -120,7 +129,8 @@ function remove_dir($dirName) { * @param string $str * @return string */ -function filter($str) { +function filter($str) +{ $replaceArr = array( "/select\b|insert\b|update\b|delete\b|drop\b|;|\"|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile|dump/is" ); @@ -136,7 +146,8 @@ function filter($str) { * @return bool * @throws Exception */ -function session($name, $value = '') { +function session($name, $value = '') +{ $config = \top\library\Register::get('Config')->get('session'); if (empty($config) || !$config['prefix']) { $route = \top\library\Register::get('Route'); @@ -162,7 +173,8 @@ function session($name, $value = '') { * @param $key * @return mixed */ -function assoc_unique($arr, $key) { +function assoc_unique($arr, $key) +{ $tmp_arr = []; foreach ($arr as $k => $v) { if (in_array($v[$key], $tmp_arr)) {//搜索$v[$key]是否在$tmp_arr数组中存在,若存在返回true @@ -184,7 +196,8 @@ function assoc_unique($arr, $key) { * @param bool $isCut * @return string */ -function resize_image($imgSrc, $resize_width, $resize_height, $newName = '', $isCut = false) { +function resize_image($imgSrc, $resize_width, $resize_height, $newName = '', $isCut = false) +{ $im = @imagecreatefromstring(file_get_contents($imgSrc)); $exif = exif_read_data($imgSrc); if (!empty($exif['Orientation'])) { @@ -245,7 +258,8 @@ function resize_image($imgSrc, $resize_width, $resize_height, $newName = '', $is * 判断是否是移动端 * @return bool */ -function is_mobile() { +function is_mobile() +{ // 如果有HTTP_X_WAP_PROFILE则一定是移动设备 if (isset($_SERVER['HTTP_X_WAP_PROFILE'])) { return true; @@ -315,7 +329,8 @@ function is_mobile() { * @param string|array $value * @return boolean */ -function notNull($value) { +function notNull($value) +{ if (is_array($value)) { if (empty($value)) { return false; @@ -334,7 +349,8 @@ function notNull($value) { * @param $value1 * @return bool */ -function notEqual($value, $value1) { +function notEqual($value, $value1) +{ if ($value == $value1) { return false; } @@ -349,10 +365,11 @@ function notEqual($value, $value1) { * @param int $max * @return boolean */ -function isBetween($value, $min, $max) { +function isBetween($value, $min, $max) +{ $length = mb_strlen($value, 'utf8'); if ($length < $min || $length > $max) { return false; } return true; -} \ No newline at end of file +} diff --git a/framework/library/http/Request.php b/framework/library/http/Request.php index 4eaa543..e50ee02 100644 --- a/framework/library/http/Request.php +++ b/framework/library/http/Request.php @@ -4,27 +4,30 @@ namespace top\library\http; /** * 请求类 - * * @author topnuomi 2018年11月23日 */ -class Request { +class Request +{ private $server = []; private static $instance; - public static function instance() { + public static function instance() + { if (!self::$instance) { self::$instance = new self(); } return self::$instance; } - private function __construct() { + private function __construct() + { $this->server = (!empty($_SERVER)) ? $_SERVER : []; } - public function method() { + public function method() + { return (isset($this->server['REQUEST_METHOD']) && $this->server['REQUEST_METHOD'] != '') ? $this->server['REQUEST_METHOD'] : ''; } @@ -33,7 +36,8 @@ class Request { * * @return boolean */ - public function isPost() { + public function isPost() + { return $this->method() == 'POST'; } @@ -42,7 +46,8 @@ class Request { * * @return boolean */ - public function isGet() { + public function isGet() + { return $this->method() == 'GET'; } @@ -51,7 +56,8 @@ class Request { * * @return boolean */ - public function isPut() { + public function isPut() + { return $this->method() == 'PUT'; } @@ -60,7 +66,8 @@ class Request { * * @return boolean */ - public function isDelete() { + public function isDelete() + { return $this->method() == 'DELETE'; } @@ -69,7 +76,8 @@ class Request { * * @return boolean */ - public function isHead() { + public function isHead() + { return $this->method() == 'HEAD'; } @@ -78,7 +86,8 @@ class Request { * * @return boolean */ - public function isPatch() { + public function isPatch() + { return $this->method() == 'PATCH'; } @@ -87,7 +96,8 @@ class Request { * * @return boolean */ - public function isOptions() { + public function isOptions() + { return $this->method() == 'OPTIONS'; } @@ -96,7 +106,8 @@ class Request { * * @return boolean */ - public function isAjax() { + public function isAjax() + { return isset($_SERVER['HTTP_X_REQUESTED_WITH']) && ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest'); } @@ -108,7 +119,8 @@ class Request { * @param array $header * @return boolean */ - public function create($url, $data = [], $header = []) { + public function create($url, $data = [], $header = []) + { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); if (!empty($data)) { @@ -129,12 +141,12 @@ class Request { /** * 获取客户端IP - * - * @param number $type - * @param string $client - * @return NULL|string|number + * @param int $type + * @param bool $client + * @return mixed */ - public function ip($type = 0, $client = true) { + public function ip($type = 0, $client = true) + { $type = $type ? 1 : 0; static $ip = NULL; if ($ip !== NULL) @@ -165,17 +177,20 @@ class Request { return $ip[$type]; } - public function post($name) { + public function post($name) + { $data = (isset($_POST[$name])) ? $_POST[$name] : ''; return $this->checkData($data); } - public function get($name) { + public function get($name) + { $data = (isset($_GET[$name])) ? $_GET[$name] : ''; return $this->checkData($data); } - public function checkData($data) { + public function checkData($data) + { if (is_array($data)) { foreach ($data as $k => $v) $data[$k] = filter($v); @@ -185,6 +200,7 @@ class Request { return $data; } - public function __destruct() { + public function __destruct() + { } -} \ No newline at end of file +} diff --git a/framework/library/route/Command.php b/framework/library/route/Command.php index a8fed7c..a97b64c 100644 --- a/framework/library/route/Command.php +++ b/framework/library/route/Command.php @@ -4,7 +4,8 @@ namespace top\library\route; use top\library\route\ifs\RouteIfs; -class Command implements RouteIfs { +class Command implements RouteIfs +{ // 模块 public $module = ''; @@ -24,7 +25,8 @@ class Command implements RouteIfs { /** * 暂时就这样吧(逃... */ - public function processing() { + public function processing() + { // TODO Auto-generated method stub $this->module = $this->module(); $this->ctrl = $this->ctrl(); @@ -36,7 +38,8 @@ class Command implements RouteIfs { /** * */ - public function module() { + public function module() + { // TODO Auto-generated method stub return 'home'; } @@ -44,7 +47,8 @@ class Command implements RouteIfs { /** * */ - public function ctrl() { + public function ctrl() + { // TODO Auto-generated method stub return 'Index'; } @@ -52,7 +56,8 @@ class Command implements RouteIfs { /** * */ - public function action() { + public function action() + { // TODO Auto-generated method stub return 'index'; } @@ -60,8 +65,9 @@ class Command implements RouteIfs { /** * */ - public function param() { + public function param() + { // TODO Auto-generated method stub return []; } -} \ No newline at end of file +} diff --git a/framework/library/route/Pathinfo.php b/framework/library/route/Pathinfo.php index 2cae277..b4335cb 100644 --- a/framework/library/route/Pathinfo.php +++ b/framework/library/route/Pathinfo.php @@ -6,10 +6,10 @@ use top\library\route\ifs\RouteIfs; /** * pathinfo模式 - * * @author topnuomi 2018年11月19日 */ -class Pathinfo implements RouteIfs { +class Pathinfo implements RouteIfs +{ // 链接数组 private $uriArray = []; @@ -45,7 +45,8 @@ class Pathinfo implements RouteIfs { * 模块名 * @return string */ - public function module() { + public function module() + { if (isset($this->uriArray[0]) && $this->uriArray[0]) { // 模块名小写 return strtolower($this->uriArray[0]); @@ -57,7 +58,8 @@ class Pathinfo implements RouteIfs { * 控制器名 * @return string */ - public function ctrl() { + public function ctrl() + { if (isset($this->uriArray[1]) && $this->uriArray[1]) { // 类名首字母大写 return ucfirst($this->uriArray[1]); @@ -69,7 +71,8 @@ class Pathinfo implements RouteIfs { * 具体执行的方法名 * @return mixed|string */ - public function action() { + public function action() + { if (isset($this->uriArray[2]) && $this->uriArray[2]) { return $this->uriArray[2]; } @@ -81,7 +84,8 @@ class Pathinfo implements RouteIfs { * @return array * @throws \ReflectionException */ - public function param() { + public function param() + { unset($this->uriArray[0]); unset($this->uriArray[1]); unset($this->uriArray[2]); @@ -112,7 +116,8 @@ class Pathinfo implements RouteIfs { * 处理URI * @return mixed|string */ - private function getUri() { + private function getUri() + { if (isset($_SERVER['PATH_INFO'])) { $pathinfo = ltrim($_SERVER['PATH_INFO'], '/'); $uri = ($pathinfo != '') ? $pathinfo : $this->default; @@ -157,7 +162,8 @@ class Pathinfo implements RouteIfs { * 根据URI得到带参数的数组 * @return array */ - private function processUriArray() { + private function processUriArray() + { return explode('/', $this->getUri()); } @@ -165,7 +171,8 @@ class Pathinfo implements RouteIfs { * 返回解析出的数据 home/controller/index * @throws \ReflectionException */ - public function processing() { + public function processing() + { $this->uriArray = $this->processUriArray(); $this->module = $this->module(); $this->ctrl = $this->ctrl(); @@ -174,4 +181,4 @@ class Pathinfo implements RouteIfs { $this->param = $this->param(); unset($this->uriArray); } -} \ No newline at end of file +} diff --git a/framework/library/route/ifs/RouteIfs.php b/framework/library/route/ifs/RouteIfs.php index bd30a52..4de60ef 100644 --- a/framework/library/route/ifs/RouteIfs.php +++ b/framework/library/route/ifs/RouteIfs.php @@ -1,12 +1,13 @@ config['dir'] . $file . '.' . $this->config['ext']; return $this->smarty->fetch($templateFile); } -} \ No newline at end of file +} diff --git a/framework/library/template/driver/Top.php b/framework/library/template/driver/Top.php index 47f6506..c26f4d4 100644 --- a/framework/library/template/driver/Top.php +++ b/framework/library/template/driver/Top.php @@ -8,10 +8,10 @@ use top\library\template\driver\tags\Tags; /** * 默认的视图驱动 - * * @author topnuomi 2018年11月22日 */ -class Top implements TemplateIfs { +class Top implements TemplateIfs +{ private static $instance; @@ -23,7 +23,8 @@ class Top implements TemplateIfs { private $cacheStatus = false; - public static function instance() { + public static function instance() + { if (!self::$instance) { self::$instance = new self(); } @@ -34,14 +35,16 @@ class Top implements TemplateIfs { * @return $this * @throws \Exception */ - public function run() { + public function run() + { // TODO: Implement run() method. $this->tags = Tags::instance(); $this->config = Register::get('Config')->get('view'); return $this; } - private function __construct() { + private function __construct() + { } /** @@ -49,7 +52,8 @@ class Top implements TemplateIfs { * @param $file * @return string */ - private function processing($file) { + private function processing($file) + { $compileFileName = $this->config['compileDir'] . md5($file) . '.php'; if (!file_exists($compileFileName) || DEBUG === true) { $compileFileName = $this->tags->processing($file); @@ -64,7 +68,8 @@ class Top implements TemplateIfs { * @return string * @throws \Exception */ - public function cacheFile($file, $param) { + public function cacheFile($file, $param) + { if (isset($_SERVER['REQUEST_URI'])) { $fileIdent = md5($_SERVER['REQUEST_URI']); } else { @@ -89,7 +94,8 @@ class Top implements TemplateIfs { * 是否开启页面静态缓存 * @param bool $status */ - public function cache($status) { + public function cache($status) + { $this->cacheStatus = $status; } @@ -101,7 +107,8 @@ class Top implements TemplateIfs { * @return false|mixed|string * @throws \Exception */ - public function fetch($file, $param, $cache) { + public function fetch($file, $param, $cache) + { // TODO Auto-generated method stub $filename = $this->config['dir'] . $file . '.' . $this->config['ext']; if (file_exists($filename)) { @@ -122,4 +129,4 @@ class Top implements TemplateIfs { throw new \Exception('视图文件 \'' . $file . '\' 不存在'); } } -} \ No newline at end of file +} diff --git a/framework/library/template/driver/Twig.php b/framework/library/template/driver/Twig.php index ab4eb6d..459406c 100644 --- a/framework/library/template/driver/Twig.php +++ b/framework/library/template/driver/Twig.php @@ -7,38 +7,45 @@ use top\library\template\ifs\TemplateIfs; use Twig\Environment; use Twig\Loader\FilesystemLoader; -class Twig implements TemplateIfs { +class Twig implements TemplateIfs +{ private static $instance; private $config = []; - private function __construct() { + private function __construct() + { } - private function __clone() { + private function __clone() + { // TODO: Implement __clone() method. } - public static function instance() { + public static function instance() + { if (!self::$instance) { self::$instance = new self(); } return self::$instance; } - public function run() { + public function run() + { // TODO: Implement run() method. $this->config = Register::get('Config')->get('view'); return $this; } - public function cache($status) { + public function cache($status) + { // TODO: Implement cache() method. return true; } - public function fetch($file, $param, $cache) { + public function fetch($file, $param, $cache) + { $baseViewDir = rtrim($this->config['dir'], '/') . '/'; $loader = new FilesystemLoader($baseViewDir); $loader->addPath($baseViewDir, 'base'); @@ -50,4 +57,4 @@ class Twig implements TemplateIfs { $templateFile = '@base/' . $file . '.' . $this->config['ext']; return $template->render($templateFile, $param); } -} \ No newline at end of file +} diff --git a/framework/library/template/driver/tags/Tags.php b/framework/library/template/driver/tags/Tags.php index 5b73e6a..49b192e 100644 --- a/framework/library/template/driver/tags/Tags.php +++ b/framework/library/template/driver/tags/Tags.php @@ -1,14 +1,15 @@ get('view'); $this->left = (isset($config['left']) && $config['left']) ? $config['left'] : '{'; $this->right = (isset($config['right']) && $config['right']) ? $config['right'] : '}'; @@ -78,10 +81,10 @@ class Tags { /** * 设置模板标签 - * - * @param array $array + * @param array $array */ - private function setTags($array) { + private function setTags($array) + { foreach ($array as $key => $value) { $tagsInfo = explode(':', $key); $tag = $tagsInfo[0]; @@ -92,7 +95,7 @@ class Tags { $attrArr = explode(',', $tagsInfo[1]); // 拼接正则表达式 $processingArr = []; - for ($i = 0; $i < count($attrArr); $i ++) { + for ($i = 0; $i < count($attrArr); $i++) { $processingArr[$attrArr[$i]] = '\\' . ($i + 1); $tag .= '\s' . $attrArr[$i] . '="(.*?)"'; } @@ -113,11 +116,11 @@ class Tags { /** * 预处理引入视图标签(为了保证require进来的文件中的模板标签可用,必须先进行预处理) - * - * @param string $filename + * @param string $filename * @return string */ - private function processingViewTag($filename) { + private function processingViewTag($filename) + { $tags = [ 'view:name' => '$___view__config = \\framework\\library\\Register::get(\'Config\')->get(\'view\'); require BASEDIR . \'/\' . $___view__config[\'dir\'] . \'name\' . \'.\' . $___view__config[\'ext\'];' ]; @@ -125,7 +128,7 @@ class Tags { $content = file_get_contents($filename); $result = preg_replace($this->tags, $this->processing, $content); $tempFileName = $this->compileDir . md5($filename) . '_temp.php'; - if (! is_dir($this->compileDir)) { + if (!is_dir($this->compileDir)) { mkdir($this->compileDir, 0777, true); } // 创建临时文件 @@ -146,7 +149,8 @@ class Tags { * @return string * @throws \Exception */ - public function processing($filename) { + public function processing($filename) + { $content = $this->processingViewTag($filename); // 加载预设模板标签 $this->setTags($this->selfTags); @@ -158,7 +162,7 @@ class Tags { $this->setTags($tags); } $result = preg_replace($this->tags, $this->processing, $content); - if (! is_dir($this->compileDir)) { + if (!is_dir($this->compileDir)) { mkdir($this->compileDir, 0777, true); } // 最终过滤内容中?\>与" . $result); return $filename; } -} \ No newline at end of file +} diff --git a/framework/library/template/ifs/TemplateIfs.php b/framework/library/template/ifs/TemplateIfs.php index e9d1028..f043f59 100644 --- a/framework/library/template/ifs/TemplateIfs.php +++ b/framework/library/template/ifs/TemplateIfs.php @@ -4,10 +4,10 @@ namespace top\library\template\ifs; /** * 模板接口 - * * @author topnuomi 2018年11月22日 */ -interface TemplateIfs { +interface TemplateIfs +{ public function run(); @@ -21,4 +21,4 @@ interface TemplateIfs { * @return mixed */ public function fetch($file, $param, $cache); -} \ No newline at end of file +}