本文整理汇总了PHP中think\Loader类的典型用法代码示例。如果您正苦于以下问题:PHP Loader类的具体用法?PHP Loader怎么用?PHP Loader使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Loader类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: __construct
/**
* 架构函数
* @access public
*/
public function __construct()
{
//控制器初始化
if (method_exists($this, '_initialize')) {
$this->_initialize();
}
//导入类库
\think\Loader::import('vendor.Hprose.HproseHttpServer');
//实例化HproseHttpServer
$server = new \HproseHttpServer();
if ($this->allowMethodList) {
$methods = $this->allowMethodList;
} else {
$methods = get_class_methods($this);
$methods = array_diff($methods, array('__construct', '__call', '_initialize'));
}
$server->addMethods($methods, $this);
if (APP_DEBUG || $this->debug) {
$server->setDebugEnabled(true);
}
// Hprose设置
$server->setCrossDomainEnabled($this->crossDomain);
$server->setP3PEnabled($this->P3P);
$server->setGetEnabled($this->get);
// 启动server
$server->start();
}
示例2: index
/**
* 登陆
* @param string $callback 登陆成功后的回调地址
*/
public function index($callback = '')
{
if (IS_POST) {
$validate = Loader::validate('Login');
$data = $this->request->post();
if (config('verify_code')) {
$validateResult = $validate->check($data);
} else {
$validateResult = $validate->scene('not_verify')->check($data);
}
if (!$validateResult) {
return $this->error($validate->getError(), '');
}
$user = Db::name('Member')->where('account', $data['account'])->find();
if (!$user) {
return $this->error('用户不存在', '');
} elseif ($user['status'] != 1) {
return $this->error('用户被禁用', '');
} elseif ($user['password'] != umd5($data['password'])) {
logs('登陆失败:密码错误', '', $user['id']);
return $this->error('密码错误', '');
} else {
self::autoLogin($user);
return $this->success('登陆成功', $callback ? $callback : url('system/index/index'));
}
} else {
if (isLogin()) {
$this->redirect(url('system/index/index'));
}
return view();
}
}
示例3: __construct
/**
* 架构函数
* @access public
*/
public function __construct()
{
//控制器初始化
if (method_exists($this, '_initialize')) {
$this->_initialize();
}
//导入类库
\think\Loader::import('vendor.jsonrpc.jsonRPCServer');
// 启动server
\jsonRPCServer::handle($this);
}
示例4: picture
/**
* 利用TP核心的单图片上传方法
*/
public function picture()
{
$Storage = Loader::model('Storage');
$options = ['ext' => ['jpg', 'gif', 'png', 'jpeg']];
$info = $Storage->upload('upload', $options);
if (false !== $info) {
return $this->success('上传成功', '', $info);
} else {
return $this->error($Storage->getError());
}
}
示例5: init
private static function init()
{
// 加载初始化文件
if (is_file(APP_PATH . 'init' . EXT)) {
include APP_PATH . 'init' . EXT;
// 加载模块配置
$config = Config::get();
} else {
// 加载模块配置
$config = Config::load(APP_PATH . 'config' . EXT);
// 加载应用状态配置
if ($config['app_status']) {
$config = Config::load(APP_PATH . $config['app_status'] . EXT);
}
// 读取扩展配置文件
if ($config['extra_config_list']) {
foreach ($config['extra_config_list'] as $name => $file) {
$filename = APP_PATH . $file . EXT;
Config::load($filename, is_string($name) ? $name : pathinfo($filename, PATHINFO_FILENAME));
}
}
// 加载别名文件
if (is_file(APP_PATH . 'alias' . EXT)) {
Loader::addMap(include APP_PATH . 'alias' . EXT);
}
// 加载行为扩展文件
if (APP_HOOK && is_file(APP_PATH . 'tags' . EXT)) {
Hook::import(include APP_PATH . 'tags' . EXT);
}
// 加载公共文件
if (is_file(APP_PATH . 'common' . EXT)) {
include APP_PATH . 'common' . EXT;
}
}
// 注册根命名空间
if (!empty($config['root_namespace'])) {
Loader::addNamespace($config['root_namespace']);
}
// 加载额外文件
if (!empty($config['extra_file_list'])) {
foreach ($config['extra_file_list'] as $file) {
$file = strpos($file, '.') ? $file : APP_PATH . $file . EXT;
if (is_file($file)) {
include_once $file;
}
}
}
// 设置系统时区
date_default_timezone_set($config['default_timezone']);
// 监听app_init
APP_HOOK && Hook::listen('app_init');
}
示例6: add
/**
* [add description]
*/
public function add()
{
if (IS_POST) {
$data = $this->request->post();
$validate = Loader::validate('Auth');
if (!$validate->check($data)) {
return $this->error($validate->getError());
}
$data = ['title' => $data['title'], 'create_time' => NOW_TIME, 'update_time' => 0, 'status' => $data['status'], 'remark' => $data['remark'], 'rules' => ''];
if (Db::name('Auth')->insert($data)) {
return $this->success();
} else {
return $this->error();
}
} else {
return $this->fetch('edit');
}
}
示例7: password
/**
* 修改密码
*/
public function password()
{
if (IS_POST) {
$data = $this->request->post();
$validate = Loader::validate('Member');
if (!$validate->scene('changepass')->check($data)) {
return $this->error($validate->getError());
}
$passData = ['password' => umd5($data['newpass']), 'update_time' => NOW_TIME];
if (Db::name('Member')->where('id', UID)->update($passData)) {
return $this->success('密码修改成功');
} else {
return $this->error();
}
} else {
return $this->fetch();
}
}
示例8: edit
/**
* [edit description]
* @param integer $id [description]
*/
public function edit($id)
{
if (IS_POST) {
$data = $this->request->post();
$validate = Loader::validate('Category');
if (!$validate->check($data)) {
return $this->error($validate->getError());
}
if (Loader::model('Category')->update($data)) {
return $this->success();
} else {
return $this->error();
}
} else {
$this->assign('info', Db::name('Category')->find($id));
$this->assign('upcate_list', Loader::model('Category')->treeSelect('', $id));
return $this->fetch('edit');
}
}
示例9: edit
/**
* 编辑
* @param [type] $id 主键
*/
public function edit($id)
{
if (IS_POST) {
$data = $this->request->post();
$validate = Loader::validate('Menu');
if (!$validate->check($data)) {
return $this->error($validate->getError());
}
if (Loader::model('Menu')->update($data)) {
session('system_menu_list', null);
return $this->success();
} else {
return $this->error();
}
} else {
$this->assign('up_menus', self::_treeShow($id));
$this->assign('info', Db::name('Menu')->where('id', $id)->find());
return $this->fetch();
}
}
示例10: load
/**
* 加载系统扩展配置
*/
public static function load()
{
$config = \think\Cache::get('db_config_cache_data');
if (!$config) {
// 在这里先判断一下数据库是否已经正确安装
$Db = \think\Loader::db();
$Query = $Db->query("SHOW TABLES LIKE '" . \think\Config::get('database.prefix') . "config'");
if (empty($Query)) {
self::install();
}
$data = \think\Db::name('Config')->where('status', 1)->field('type,name,value')->select();
$config = [];
if ($data && is_array($data)) {
foreach ($data as $value) {
$config[$value['name']] = self::parse($value['type'], $value['value']);
}
}
\think\Cache::set('db_config_cache_data', $config);
}
\think\Config::set($config);
}
示例11: __construct
/**
* 架构函数
* @access public
*/
public function __construct()
{
//控制器初始化
if (method_exists($this, '_initialize')) {
$this->_initialize();
}
//导入类库
\think\Loader::import('vendor.phprpc.phprpc_server');
//实例化phprpc
$server = new \PHPRPC_Server();
if ($this->allowMethodList) {
$methods = $this->allowMethodList;
} else {
$methods = get_class_methods($this);
$methods = array_diff($methods, array('__construct', '__call', '_initialize'));
}
$server->add($methods, $this);
if (APP_DEBUG || $this->debug) {
$server->setDebugMode(true);
}
$server->setEnableGZIP(true);
$server->start();
echo $server->comment();
}
示例12: __call
/**
* 利用__call方法实现一些特殊的Model方法
* @access public
* @param string $method 方法名称
* @param array $args 调用参数
* @return mixed
*/
public function __call($method, $args)
{
if (in_array(strtolower($method), ['count', 'sum', 'min', 'max', 'avg'], true)) {
// 统计查询的实现
$field = isset($args[0]) ? $args[0] : '*';
return $this->getField(strtoupper($method) . '(' . $field . ') AS tp_' . $method);
} elseif (strtolower(substr($method, 0, 5)) == 'getby') {
// 根据某个字段获取记录
$field = Loader::parseName(substr($method, 5));
$where[$field] = $args[0];
return $this->where($where)->find();
} elseif (strtolower(substr($method, 0, 10)) == 'getfieldby') {
// 根据某个字段获取记录的某个值
$name = Loader::parseName(substr($method, 10));
$where[$name] = $args[0];
return $this->where($where)->getField($args[1]);
} elseif (isset($this->scope[$method])) {
// 命名范围的单独调用支持
return $this->scope($method, $args[0]);
} else {
throw new \think\Exception(__CLASS__ . ':' . $method . Lang::get('_METHOD_NOT_EXIST_'));
return;
}
}
示例13: validate
/**
* 验证数据
* @access protected
* @param array $data 数据
* @param string|array $validate 验证器名或者验证规则数组
* @param array $message 提示信息
* @param bool $batch 是否批量验证
* @param mixed $callback 回调方法(闭包)
* @return array|string|true
* @throws ValidateException
*/
protected function validate($data, $validate, $message = [], $batch = false, $callback = null)
{
if (is_array($validate)) {
$v = Loader::validate();
$v->rule($validate);
} else {
if (strpos($validate, '.')) {
// 支持场景
list($validate, $scene) = explode('.', $validate);
}
$v = Loader::validate($validate);
if (!empty($scene)) {
$v->scene($scene);
}
}
// 是否批量验证
if ($batch || $this->batchValidate) {
$v->batch(true);
}
if (is_array($message)) {
$v->message($message);
}
if ($callback && is_callable($callback)) {
call_user_func_array($callback, [$v, &$data]);
}
if (!$v->check($data)) {
if ($this->failException) {
throw new ValidateException($v->getError());
} else {
return $v->getError();
}
} else {
return true;
}
}
示例14: vendor
/**
* 快速导入第三方框架类库 所有第三方框架的类库文件统一放到 系统的Vendor目录下面
* @param string $class 类库
* @param string $ext 类库后缀
* @return boolean
*/
function vendor($class, $ext = EXT)
{
return Loader::import($class, VENDOR_PATH, $ext);
}
示例15: parseTemplate
/**
* 自动定位模板文件
* @access private
* @param string $template 模板文件规则
* @return string
*/
private function parseTemplate($template)
{
if (empty($this->config['view_path'])) {
$this->config['view_path'] = App::$modulePath . 'view' . DS;
}
if (strpos($template, '@')) {
list($module, $template) = explode('@', $template);
$path = APP_PATH . $module . DS . 'view' . DS;
} else {
$path = $this->config['view_path'];
}
// 分析模板文件规则
$request = Request::instance();
$controller = Loader::parseName($request->controller());
if ($controller && 0 !== strpos($template, '/')) {
$depr = $this->config['view_depr'];
$template = str_replace(['/', ':'], $depr, $template);
if ('' == $template) {
// 如果模板文件名为空 按照默认规则定位
$template = str_replace('.', DS, $controller) . $depr . $request->action();
} elseif (false === strpos($template, $depr)) {
$template = str_replace('.', DS, $controller) . $depr . $template;
}
}
return $path . ltrim($template, '/') . '.' . ltrim($this->config['view_suffix'], '.');
}