本文实例讲述了yii2框架中使用下拉菜单的自动搜索yii-widget-select2的方法。分享给大家供大家参考,具体如下: github中源代码地址:https://github.com/kartik-v/yii2-widget-select2 利用composer.phar安装此插件: php composer.phar require kartik-v/yii2-widget-select2 "*" 引用方法: use kartik\select2\Select2; 源代码:<?= $form->field($model, companies_company_id)->widget(Select2::classname(), [data => Array...
本文实例分析了CodeIgniter配置之database.php用法。分享给大家供大家参考,具体如下: CodeIgniter的数据库配置文件位于application/config/database.php, 该文件中定义了$db的二维数组,参考文件如下:$active_group = default; $active_record = TRUE; $db[default][hostname] = localhost; $db[default][username] = root; $db[default][password] = 123456; $db[default][database] = test; $db[default][dbdriver] = mysql;...
本文实例讲述了Codeigniter控制器controller继承问题。分享给大家供大家参考,具体如下: 在项目中经常用到这样一种情况,后台中每个页面都要判断Session来确定用户是否登陆状态.对于在Codeigniter中,那么就会考虑每个控制器继承一个公用控制器。 比如:AdminBase 为应用后台的公用的控制器,在每一个应用后台控制器里面都来继承公共的AdminBase ,但是同时要确保AdminBase 也是继承CI_Controller的。 前台HomeBase也是同样的道理...
本文实例分析了CodeIgniter配置之config.php用法。分享给大家供大家参考,具体如下: 配置说明代码如下:echo config_item(charset); CI也提供了一个配置类用来维护配置文件。也可以通过下面方式来获取和设置config的值,当设置之后调用get_config的结果同样会变化,所以可以在某些逻辑前修改config的值。//获取config中配置的charset值 echo $this->config->item(charset); //重新设置config中charset的值 $this->config->set_item...
本文实例分析了PHP的mysql事务问题。分享给大家供大家参考,具体如下: 对于myisam数据库,可以控制事务的进行:$mysqlrl = mysql_connect ( $db_config ["host"], $db_config ["user"], $db_config ["pass"], true ); if (! $mysqlrl) {$msg = mysql_error ();die ( Could not connect: . $msg ); } mysql_select_db ( $db_config ["data"], $mysqlrl ) or die ( "error: 数据库异常" ); mysql_query ( "SET NAMES utf8" ); date...
本文实例分析了CodeIgniter控制器之业务逻辑。分享给大家供大家参考,具体如下: 前面分析了公用控制器按模块分发,方便对特定模块的控制,而具体的实现类则是放在library中。那放在library中是否合适呢?以及控制器中更多的业务逻辑该放在哪里? 先说下对CI中几个文件夹的理解代码如下:$this->load->service(user_service);来调用。 但业务逻辑很多都需要获取CI实例,这里可以参考模型的方法,core建立一个MY_Service,其他service...
本文实例分析了CodeIgniter配置之routes.php用法。分享给大家供大家参考,具体如下: application/config/routes.php中定义了一个名为$route的数组,用来设置默认路由和404页面以及可以设置一些匹配方式。 默认的配置如下:$route[default_controller] = "welcome"; $route[404_override] = ;default_controller指定默认的控制器名称,404_override指定当出现404时调用的控制器名称。有时候可能出现解析不成功,或者一直在默认页面...
本文实例讲述了CodeIgniter配置之SESSION用法。分享给大家供大家参考,具体如下: 刚使用Codeigniter时也被其中的SESSION迷惑过,后来就再也没用过CI自带的SESSION,想必还是有必要整理一下SESSION。为弄清CI中的SESSION,先来说一下PHP中SESSION是如何工作的。由于HTTP协议本身是无状态的,所以当保留某个用户的访问状态信息时,需要客户端有一个唯一标识传给服务端,这个唯一标识就是SESSION ID,存放在客户端的COOKIE中,然后服...
本文实例分析了CI(CodeIgniter)模型用法。分享给大家供大家参考,具体如下: MVC中的业务逻辑放在控制器中或者模型里都是不合适的,所以这里对业务逻辑进行了分离,多出一层用来处理业务逻辑,模型就只当作数据访问层,这样子模型将会变得比较轻。CI中并未通过实体对象来传参,参数的传入和返回都由开发者控制,比较灵活。很多情况下都会以数组的方式传入或者返回。 模型的使用也比较简单,这里只提一下使用前想到的几个问题吧。 1...
本文实例讲述了PHP消息队列用法。分享给大家供大家参考,具体如下: 该消息队列用于linux下,进程通信#根据路径和后缀创建一个id $key = ftok(__DIR__, R); #获取队列中的消息 $q = msg_get_queue($key); #删除队列 msg_remove_queue($q); #获取队列的状态信息 $status = msg_stat_queue($q); print_r($status); echo "\n"; for($i=0;$i<100;$i++) {/*** 向队列里添加消息 * resource $queue , int $msgtype , mixed $message [, b...
本文实例讲述了php中namespace use用法。分享给大家供大家参考,具体如下: 现在说这个感觉有点过时了,但是感觉用namespace的人还是不多,估计还是因为不习惯吧。 class把一个一个function组织起来,namespace可以理解成把一个一个class,function等有序的组织起来。个人觉得,namespace的主要优势有 第一,可以更好的管理代码 第二,文件一多,可以避免class,function的重名 第三,代码可读性增强了 1. 定义namespacenamespace user...
本文实例讲述了Laravel路由设定和子路由设定方法。分享给大家供大家参考,具体如下: 普通路由设定 1、路由(routes.php)代码:Route::get(min,MinController@index);min:为路由名称,即url中输入的,如127.0.0.1/min 这里的min就是上面对应的min MinController为文件名(类名) @index为方法名 2、控制器namespace App\Http\Controllers; use App\Http\Controllers\Controller; class MinController extends Controller{public ...
本文实例讲述了Zend Framework教程之Zend_Db_Table_Row用法。分享给大家供大家参考,具体如下: 1. 简介 Zend_Db_Table_Row是Zend Framework的行数据网关.通常来说,你不可以自己实例化Zend_Db_Table_Row, 而是通过调用Zend_Db_Table::find()方法或者Zend_Db_Table::fetchRow()方法将Zend_Db_Table_Row作为 结果数据返回过来.一旦你得到来一个Zend_Db_Table_Row对象,你可以修改记录值(体现为类的属性)然后 调用save()方法可以将更改...
本文实例讲述了Zend Framework框架Zend_Db_Table_Rowset用法。分享给大家供大家参考,具体如下: 1. 简介 Zend_Db_Table_Rowset是 Zend_Db_Table_Row对象集合的迭代器.通常来说,你不可以自己实例化Zend_Db_Table_Rowset, 而是通过调用Zend_Db_Table::find()方法或者fetchAll()方法将Zend_Db_Table_Rowset作为 结果数据返回过来.接下来就可以遍历Zend_Db_Table_Row对象集合并进行修改.2. 取回结果集 首先,需要实例化一个Zend_Db_Tab...
本文实例讲述了PHP的PDO常用类库。分享给大家供大家参考,具体如下: 1、Db.class.php 连接数据库<?php // 连接数据库 class Db {static public function getDB() {try {$pdo = new PDO(DB_DSN, DB_USER, DB_PWD);$pdo->setAttribute(PDO::ATTR_PERSISTENT, true); // 设置数据库连接为持久连接$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // 设置抛出错误$pdo->setAttribute(PDO::ATTR_ORACLE_NULLS, true);...