ThinkPHP学习

ThinkPHP

按照MVC模式开发的一个框架,也叫TP框架。
优点:
1.  快速,稳定的搭建系统程序
2.  可以使开发人员精力集中在业务逻辑上,不需要关心程序的底层架构
3.  可以节省大量的代码,后期的升级、维护、优化十分方便
4.  有利于团队的代码风格统一。
相关的一些框架
1、zend framework
zend公司开发的官方的框架,功能很强大,重量级框架。
2、Yii
国人自己开发的重量级框架,该框架的特点就是代码的可重用性非常好。
3、CI(code Igniter)
    轻量级的框架,
4、cakePHP
    外国的PHP开发框架
5、ThinkPHP
这是国人开发的,免费、开源的,简单的、面向对象的,轻量级的PHP框架。



在ThinkPHP\Library\Think文件夹中,几个重要的文件
1、App.class.php     框架核心类文件
2、Think.class.php       每次请求都要执行的类
3、Controller.class.php      控制器的父类
4、Model.class.php       模型的父类
5、View.class.php            试图的父类


搭建ThinkPHP的环境
在站点下新建index.php,代码如下
define("APP_PATH",'./Application/');
require './ThinkPHP/ThinkPHP.php';

运行后出现欢迎界面,在说明系统自动生成了ThinkPHP的项目目录,并写入了初始的控制器和方法。



创建控制器
1.  控制器存放在Controller文件夹中
2.  命名规范:控制器的名称+Controller.class.php
3.  类名和文件的名称要一致
4.  类名用帕斯卡命名法

5.  尽量区分大小写,windows不区分大小写,但Linux中区分
6.  ThinkPHP默认的编码是UTF-8的。
7.  如果地址中没有写控制器,这默认调用Index控制器,如果没有写方法,则默认调用index方法

命名法:
1、帕斯卡命名法:首字母大写   UserName   MyNameIsLiping
2、骆驼命名法:userName     _user_name
3、匈牙利命名法:前缀(类别)+名字     radSex    txtUsername   iIength  oStu


ThinkPHP的路由

'VAR_MODULE' => 'm',  //默认模块获取变量
'VAR_ADDON' => 'addon',  //默认插件控制器命名空间变量
'VAR_CONTROLLER' => 'c', //默认控制器获取变量
'VAR_ACTION' => 'a',  /默认操作获取变量


1.普通模式
localhost/index.php?m=home&c=goods&a=show

2.pathinfo模式
http://网址/入口文件(index.php)/分组(平台)/控制器/方法
localhost/index.php/home/goods/index  

3.rewrite()重写模式
4.兼容模式
参数s=/分组/控制器/方法。
localhost/index.php?s=/home/goods/show

ThinkPHP中,默认使用pathinfo模式。




定义和调用TP的模板
所有的模板都要放在view文件夹下。
规则:一个控制器对应一个文件夹,一个方法对应一个文件

TP模板的调用
public function index(){
    //$this->display();    当前控制器的方法
    //$this->display("show");   //当前控制器的show方法
    //$this->display("Goods/index"); //Goods控制器下的index方法
    $this->display("./Application/Public/test.html");  模板页面的绝对地址
}


TP系统常量
function show(){
    echo '';
    echo '当前请求的地址:'.__SELF__.'
'; echo '当前分组:'.__MODULE__.'
'; echo '当前控制器:'.__CONTROLLER__.'
'; echo '当前方法:'.__ACTION__.'
'; } * 项目后台的搭建 1、在Application文件夹下新建一个Admin文件夹,在Admin文件夹中新建Controller和View文件夹。 2、在Admin\Controller控制器中新建一个LoginController.class.php页面,代码如下: namespace Admin\Controller; use Think\Controller; class LoginController extends Controller{ public function login(){ $this->display(); } } 3、在login.html中更改css、js、img的路径
...
4、在Admin\Controller文件夹中新建ManagerClass.php文件 namespace Admin\Controller; use Think\Controller; class ManagerController extends Controller{ public function index(){ $this->display(); } public function head(){ $this->display(); } public function left(){ $this->display() } public function right(){ $this->display() } } 5. 对应的index文件 </noframe> 6、注意更改index、head、left、right页面中的路径 </code></pre> <ul> <li>ThinkPHP的开发模式</li> </ul> <pre><code>tp框架有两种使用模式:开发模式(调试模式),一种是生产模式(运行模式) define('APP_DEBUG', true); //调试模式 define('APP_DEBUG', false); //调试模式 运行模式会把很多核心文件代码缓存成" common~runtime.php"文件,把原来每次需要加载许多文件的请求现在只要请求一个缓存文件,节省了很多文件的打开,关闭的开销。 在页面的底部显示日志信息 在配置文件中,添加如下配置 return array( 'SHOW_PAGE_TRACE' = > true ); 配置完成后,在浏览器的右下角会显示php logo。 如果想看源码的话,在behavior文件夹下的ShowPageTraceBehavior.class.php public function run(&$params){ if(!IS_AJAX && !IS_CLL && C('SHOW_PAGE_TRACE')){ echo $this->showTrace; } } 把ThinkPHP的引擎改成Smarty return array( 'TMPL_ENGINE_TYPE'=>'Smarty', ); Smarty引擎存放在vender目录下 smarty驱动存放在Library/Think/Template/Driver 下的Smarty.class.php 若想修改Smarty的配置(不建议修改) 'TMPL_ENGINE_CONFIG' => array( 'template_dir'=>'', 'compile_dir'=>'', 'cache_dir'=>'' ); 空操作 系统在找不到请求的方法的时候,会定位到__empty()方法处理,利用这个机制,我们可以对用户请求的不存在的所有操作进行统一处理。 public function _empty(){ echo '<meta charset=utf-8 />'; echo '非法操作'; } 空控制器 当系统请求找不到控制器,会定位到空控制器上EmptyController。 <?php namespace Admin\Controller; use Think\Controller; class EmptyController extends Controller{ public function _empty(){ echo '<meta charset=utf-8 />'; echo '页面不存在'; } } ?> 跨控制器调用 1、直接实例化 public function test(){ $obj = new ManagerController(); $obj->managertest(); } 2. A() A()用来实例化其他控制器的。 $obj = A("Manager"); $obj->managertest(); 3、R() R()和A()基本一样,唯一不同的是R()函数在实例化控制器的时候把操作方法一起传递过去,省略了方法的调用 R('Manager/managertest'); </code></pre> <ul> <li>TP框架的配置文件</li> </ul> <pre><code>惯例配置:ThinkPHP/conf/convention.php 应用配置:Application/Common/conf/config.php 调试配置:Application/Common/conf/debug.php 模块配置:Application/Home/conf/config.php 加载顺序 惯例配置->应用配置->调试配置->模块配置 优先级: 模块配置>调试配置>应用配置>惯例配置 C('配置的名称') 用来获取配置信息。 判断 <if condition='表达式'> <elseif condition='表达式' /> <else/> </if> </code></pre> <ul> <li>TP表达式中运算符</li> </ul> <table> <thead> <tr> <th>PHP运算符</th> <th>对应TP中的运算符</th> </tr> </thead> <tbody> <tr> <td><</td> <td>lt</td> </tr> <tr> <td>></td> <td>gt</td> </tr> <tr> <td>==</td> <td>eq</td> </tr> <tr> <td>>=</td> <td>egt</td> </tr> <tr> <td><=</td> <td>elt</td> </tr> </tbody> </table> <pre><code>使用: your scores: {$score}<br> <if condition='$score egt 90'> 你是我的骄傲 <elseif condition='$score egt 80'> Good! <elseif condition='$score egt 70'> Well! <elseif condition='$score egt 60'> Come on! <else/> Try Again! </if> 循环 <for start='开始值' end='结束值' comparison="" step="步长" name="循环变量名"> </for> <for start='1' end='100' step="10" name='b'> {$b}:hi<br> </for> 连接数据库 <?php return array( 'SHOW_PAGE_TRACE'=>TRUE, 'DB_TYPE'=>'mysql', 'DB_HOST'=>'localhost', 'DB_NAME'=>'db_name', 'DB_USER'=>'root', 'DB_PWD'=>'123', 'DB_PORT'=>'3306', 'DB_PREFIX'=>'sw_', //数据库表前缀 ); ?> 在配置文件中,做如上的配置,即可连接数据库 </code></pre> <ul> <li>创建Model模型</li> </ul> <pre><code>把"Home/Model"文件夹剪切到Application文件夹下,让Home和Admin共同使用。 第一种实例化模型的方法 public function test(){ $goods = new \Model\GoodsModel(); echo '<pre>'; var_dump($goods); } 第二种: public function test(){ $goods=M("goods"); echo '<pre>'; var_dump($goods); } 第三种: public function test(){ $goods=D("goods"); echo '<pre>'; var_dump($goods); } 在tp3.2以后,M()和D()是一样的,在3.2之前版本中 M() 类似于是 new Model(); D('goods') 类似于 new GoodsModel(): 提示:我们可以看到goods表的信息,在GoodsModel中没有写代码,所有的业务逻辑都是Model类来实现的。 对表的操作 增加:M('表名')->add($data); 删除:M('表名')->delete($id); 更新:M('表名')->save($data); 查询:M('表名')->select(); 普通查询(显示所有的商品) 1、GoodsController中的代码如下: namespace Admin\Controller; use Think\Controller; class GoodsController extends Controller{ public function showlist(){ $list=M('goods')->select(); $this->assign('list',$list); $this->display(); } } 2.在模板中循环取出 <volist name="list" id="vo"> //list数组名称,vo循环变量 <tr id="product1"> //$i从1开始,$key从零开始 <td>{$i}</td> <td>{$vo.goods_name}</td> <td>{$vo.goods_number}</td> <td>{$vo.goods_price}</td> <td>![](/aaa/a.jpg)</td> <td>{$vo.goods_brand_id}</td> <td>{$vo.goods_create_time}</td> <td><a href="#">Modify</a></td> <td><a href="javascript:;" onclick="delete_product(1)">delete</a></td> <td></td> <tr> </volist> 3.获取一条记录 $goods=M('goods')->find(); var_dump($goods); 条件查询 //查询主键为1的记录 $list=M('goods')->select(1); //查询编号是2,3,4,5的记录 $list=M('goods')->select("2,3,4,5"); //where条件 $list=M("goods")->where("goods_name like 'iphone%'")->select(); $list=M("goods")->where("goods_name like 'iphone%' and goods_price>=102")->select(); /limit $list=M("goods")->limit(5)->select(); $list=M("goods")->limit(2,5)->select(); //where and limit $list=M("Model")->where("goods_price>1000")->limit(3)->select(); //排序 $list=M("goods")->where("goods_price desc")->select(); //指定字段 $list=M("goods")->field("goods_nae,goods_price")->select(); //having $list=M("goods")->having("goods_price>2000")->select(); //分组 $list=M("goods")->group("goods_brand_id")->field("goods_brand_id,max(goods_price) m")->having('m>2000')->select(); having和where的区别 区别一: where后面跟的字段必须在数据表中有 having后面跟的字段必须在数据集中有 区别二: select * from 表 where 条件 group by 分组 having 条件 动态查询 getby+字段名 $data=M('goods')->getBygoods_id(9); //返回一条记录 聚合函数 $goods=M("goods"); $goods->count(); $goods->max("goods_price"); $goods->min("goods_price"); $goods->mavg("goods_price"); $goods->sum("goods_price"); 数据添加 1、通过关联数组的方法添加:如果主键自动增长 则返回自动增长的编号,否则返回受记录的记录数.如果SQL遇见有错误,则返回false; $data = array( 'good_name'=>'phone', 'goods_price'=>2400 ); echo M('goods')->add($data); 2、通过AR(active record)方式来添加 $goods=M('goods'); $goods->goods_name = 'TV'; $goods->goods_price = 45332; echo $goods->add(); 数据修改 1、通过关联数组的方法 $data = array( 'goods_name'=>'phone222', 'goods_price'=>2234, 'goods_id'=>22 ); echo M('goods')->save($data); //返回受影响的记录 2、通过AR(active record)方式 $goods=M("goods"); $goods->goods_name='TV333'; $goods->goods_price =22334; $goods_goods_id = 222; echo $goods->save(); 删除数据 M("goods")->delete(123); M("goods")->delete("112,33"); M(goods)->where("goods_name='apple'")->delete(); $goods=M('goods'); $goods->goods_id = 33; $goods->delete(); 执行SQL语句 //查询用query方法 $list=M()->query('select * from sw_goods'); var_dump($list); //增加,删除,修改用execute方法 echo M()->execute('delete from sw_goods where good_id=23'); </code></pre> </article> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1275368069933318144"></div> <script type="text/javascript" src="/views/front/js/chanyan.js"></script> <!-- 文章页-底部 动态广告位 --> <div class="youdao-fixed-ad" id="detail_ad_bottom"></div> </div> <div class="col-md-3"> <div class="row" id="ad"> <!-- 文章页-右侧1 动态广告位 --> <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_1"> </div> </div> <!-- 文章页-右侧2 动态广告位 --> <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_2"></div> </div> <!-- 文章页-右侧3 动态广告位 --> <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_3"></div> </div> </div> </div> </div> </div> </div> <div class="container"> <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(ThinkPHP学习)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1950169919731593216.htm" title="2022-01-13 天气晴 心情好" target="_blank">2022-01-13 天气晴 心情好</a> <span class="text-muted">楠楠的qzone</span> <div>今天主要是吧系统的一些功能给转移到另外一个系统上,然后遇到了一个很差劲的客户,不过呢我也是见多了不去计较了,因为什么样的人都有,平常心就好。晚上去吧thinkphp6的基础知识好好的看了一下,还是学到了很多好东西</div> </li> <li><a href="/article/1950169523193704448.htm" title="Claude Code 超详细完整指南(2025最新版)" target="_blank">Claude Code 超详细完整指南(2025最新版)</a> <span class="text-muted">笙囧同学</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>终端AI编程助手|高频使用点+生态工具+完整命令参考+最新MCP配置目录快速开始(5分钟上手)详细安装指南系统要求Windows安装(WSL方案)macOS安装Linux安装安装验证配置与认证首次认证环境变量配置代理配置⚡基础命令详解启动命令会话管理文件操作Think模式完全指南MCP服务器配置详解MCP基础概念添加MCP服务器10个必备MCP服务器MCP故障排除记忆系统详解高级使用技巧成本控制策</div> </li> <li><a href="/article/1950146206252462080.htm" title="OnJava8-学习分享(附资源)" target="_blank">OnJava8-学习分享(附资源)</a> <span class="text-muted">李超同学</span> <a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E4%B9%A6%E7%B1%8D/1.htm">书籍</a><a class="tag" taget="_blank" href="/search/onjava8/1.htm">onjava8</a> <div>本书是布鲁斯•埃克尔时隔15年,继ThinkinginJava之后又一力作,基于Java的3个长期支持版(Java8、11、17),讲解Java核心语法,并对Java的核心变化进行详述。全书内容通俗易懂,配合示例讲解逐步深入,并结合实际开发需要,从语言底层设计出发,有效帮读者规避一些常见的开发陷阱。主体部分共22章,内容包含对象、操作符、控制流、初始化和清理、复用、多态、接口、内部类、集合、函数式</div> </li> <li><a href="/article/1950106242563239936.htm" title="我的ThinkPHP5框架开发22讲:从入门到实践的探索之旅" target="_blank">我的ThinkPHP5框架开发22讲:从入门到实践的探索之旅</a> <span class="text-muted">a1237567892</span> <a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a> <div>我的ThinkPHP5框架开发22讲:从入门到实践的探索之旅在编程的世界里,框架就像是一座座灯塔,照亮着开发者前行的道路。而当我第一次接触到ThinkPHP5这个PHP框架时,它就像是我探索路上的那颗最亮的星。今天,我想和大家分享我的ThinkPHP5框架开发22讲,这是我从一个初学者到逐渐熟练的实践过程。第1讲:初识ThinkPHP5记得那是一个阳光明媚的周末,我在网上浏览PHP框架的资料时,偶</div> </li> <li><a href="/article/1949997804571127808.htm" title="c# winform 五子棋 人机对战 (详细)" target="_blank">c# winform 五子棋 人机对战 (详细)</a> <span class="text-muted"></span> <div>目录1.前言2.人机对战主要功能实现3.其他功能修改4.完整代码1.前言c#winform简单五子棋,支持连续悔棋。-CSDN博客基础版跳链接。建议先阅读。在基础版的界面上增加两个groupBox,并各自放两个radioButton。在基础版上form1.cs中增加变量privateboolisAIThinking=false;//判断是否该ai走privateTimeraiDelayTimer;</div> </li> <li><a href="/article/1949679420335779840.htm" title="防伪溯源一体化管理系统解决方案" target="_blank">防伪溯源一体化管理系统解决方案</a> <span class="text-muted">春城一个人的莎士比亚</span> <a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%AB%99%E5%B0%8F%E7%A8%8B%E5%BA%8F%E8%BD%AF%E4%BB%B6%E5%AE%9A%E5%88%B6%E5%BC%80%E5%8F%91/1.htm">网站小程序软件定制开发</a><a class="tag" taget="_blank" href="/search/%E9%98%B2%E4%BC%AA%E6%BA%AF%E6%BA%90/1.htm">防伪溯源</a><a class="tag" taget="_blank" href="/search/%E9%98%B2%E4%BC%AA%E6%BA%AF%E6%BA%90%E5%B0%8F%E7%A8%8B%E5%BA%8F/1.htm">防伪溯源小程序</a><a class="tag" taget="_blank" href="/search/%E9%98%B2%E4%BC%AA%E6%BA%AF%E6%BA%90%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88/1.htm">防伪溯源解决方案</a><a class="tag" taget="_blank" href="/search/%E9%98%B2%E4%BC%AA%E6%BA%AF%E6%BA%90%E6%96%B9%E6%B3%95/1.htm">防伪溯源方法</a><a class="tag" taget="_blank" href="/search/%E9%98%B2%E4%BC%AA%E6%BA%AF%E6%BA%90%E8%BD%AF%E4%BB%B6/1.htm">防伪溯源软件</a><a class="tag" taget="_blank" href="/search/%E9%98%B2%E4%BC%AA%E6%BA%AF%E6%BA%90%E4%B8%80%E7%89%A9%E4%B8%80%E7%A0%81/1.htm">防伪溯源一物一码</a> <div>防伪溯源一体化管理系统一款基于FA+ThinkPHP和Uniapp进行开发的多平台(微信小程序、H5网页)溯源、防伪、管理一体化独立系统,拥有强大的防伪码和溯源码双码生成功能(内置多种生成规则)、批量大量导出防伪和溯源码码数据、支持代理商管理端(团队管理、采购,邀请代理商、出库等功能)、支持招商经理管理端(可管理代理商团队,邀请代理商,数据统计,采购订单统计),支持出厂员端(出库、入库)、文章资讯</div> </li> <li><a href="/article/1949672864923840512.htm" title="【全开源】防伪溯源一体化管理系统源码(FastAdmin+ThinkPHP和Uniapp)" target="_blank">【全开源】防伪溯源一体化管理系统源码(FastAdmin+ThinkPHP和Uniapp)</a> <span class="text-muted">现任明教教主~</span> <a class="tag" taget="_blank" href="/search/uni-app/1.htm">uni-app</a><a class="tag" taget="_blank" href="/search/%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F/1.htm">微信小程序</a> <div>一款基于FastAdmin+ThinkPHP和Uniapp进行开发的多平台(微信小程序、H5网页)溯源、防伪、管理一体化独立系统,拥有强大的防伪码和溯源码双码生成功能(内置多种生成规则)、批量大量导出防伪和溯源码码数据、支持代理商管理端(团队管理、采购,邀请代理商、出库等功能)、支持招商经理管理端(可管理代理商团队,邀请代理商,数据统计,采购订单统计),支持出厂员端(出库、入库)、文章资讯、自定义</div> </li> <li><a href="/article/1949657358804250624.htm" title="【最新版】防伪溯源一体化管理系统+uniapp前端+搭建教程" target="_blank">【最新版】防伪溯源一体化管理系统+uniapp前端+搭建教程</a> <span class="text-muted">fakaifa</span> <a class="tag" taget="_blank" href="/search/fakaifa%E7%B2%BE%E5%93%81%E6%BA%90%E7%A0%81/1.htm">fakaifa精品源码</a><a class="tag" taget="_blank" href="/search/uni-app/1.htm">uni-app</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E5%B0%8F%E7%A8%8B%E5%BA%8F/1.htm">小程序</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</a><a class="tag" taget="_blank" href="/search/crmeb/1.htm">crmeb</a><a class="tag" taget="_blank" href="/search/%E9%98%B2%E4%BC%AA%E6%BA%AF%E6%BA%90%E4%B8%80%E4%BD%93%E5%8C%96/1.htm">防伪溯源一体化</a><a class="tag" taget="_blank" href="/search/%E9%98%B2%E4%BC%AA%E6%BA%AF%E6%BA%90%E7%B3%BB%E7%BB%9F/1.htm">防伪溯源系统</a> <div>一.介绍防伪溯源一体化管理系统基于ThinkPHP和Uniapp进行开发的多平台(微信小程序、H5网页)溯源、防伪、管理一体化独立系统,拥有强大的防伪码和溯源码双码生成功能(内置多种生成规则)、批量大量导出防伪和溯源码码数据、支持代理商管理端(团队管理、采购,邀请代理商、出库等功能)、支持招商经理管理端(可管理代理商团队,邀请代理商,数据统计,采购订单统计),支持出厂员端(出库、入库)、文章资讯、</div> </li> <li><a href="/article/1949451844073877504.htm" title="自定义定时任务功能详解" target="_blank">自定义定时任务功能详解</a> <span class="text-muted">新入群的新人小猿</span> <a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</a> <div>一、功能概述CRMEB标准版的自定义定时任务模块,基于ThinkPHP6框架深度优化,通过可视化配置界面实现零代码任务管理。该功能支持秒级到年度的多维度执行周期设定,并允许开发者直接注入业务逻辑代码,实现如自动发券、数据同步等高频操作。相较于传统开发模式,可节省80%的二次开发时间。二、功能配置全流程1.功能入口进入后台→系统维护→开发配置→定时任务2.任务类型区分•系统任务:预置10种常用任务(</div> </li> <li><a href="/article/1949448062753632256.htm" title="Effective C++读书笔记之十四:在资源管理类中小心copying行为" target="_blank">Effective C++读书笔记之十四:在资源管理类中小心copying行为</a> <span class="text-muted"></span> <div>Item14:Thinkcarefullyaboutcopyingbehaviorinresource-managingclasses条款13导入这样的观念:“资源取得时机便是初始化时机”,并以此作为“资源管理类”的脊柱。然而当一个RAII对象被复制,会发生什么事?大多数时候你会选择以下四种可能。禁止复制:许多时候允许RAII对象被复制并不合理,因为很少能够合理拥有“同步化基础器物”的复件(副本)</div> </li> <li><a href="/article/1949435319313035264.htm" title="Item14:在资源管理类中小心拷贝行为" target="_blank">Item14:在资源管理类中小心拷贝行为</a> <span class="text-muted">双马尾为什么是神</span> <a class="tag" taget="_blank" href="/search/Effective/1.htm">Effective</a><a class="tag" taget="_blank" href="/search/C%2B%2B/1.htm">C++</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>在C++中,资源管理类(如智能指针、文件句柄类)是实现RAII(资源获取即初始化)的关键工具。然而,当这些类涉及拷贝操作(如拷贝构造、赋值)时,可能会引发资源管理的复杂性。《EffectiveC++》中的Item14“在资源管理类中小心拷贝行为”(Thinkcarefullyaboutcopyingbehaviorinresource-managingclasses)提醒我们,必须根据资源的特性,</div> </li> <li><a href="/article/1949247962769059840.htm" title="企业网站管理系统(多语言+多模板)" target="_blank">企业网站管理系统(多语言+多模板)</a> <span class="text-muted"></span> <div>一款基于ThinkPHP+Uniapp开发的企业网站管理系统,支持自定义多语言、自定义模型与字段、自定义表单等功能。提供全部无加密源代码,支持私有化部署。企业网站管理系统(多语言+多模板)产品功能与描述(完整版)多语言建站支持同时创建和管理多语言站点,可为每种语言绑定独立域名、配置独立模板、基础信息及内容,满足全球化展示需求。多条件筛选及搜索后台一键启用多维度属性筛选与全文搜索,帮助访客在海量内容</div> </li> <li><a href="/article/1948823572512305152.htm" title="easy-task定时任务(模仿)" target="_blank">easy-task定时任务(模仿)</a> <span class="text-muted">码农挚友</span> <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/easy-task/1.htm">easy-task</a> <div>添加链接描述tp5.1EasyTask插件做定时任务我是高手高手高高手于2020-10-1315:21:16发布2106收藏4分类专栏:thinkphp5phptp6版权thinkphp5同时被3个专栏收录248篇文章3订阅订阅专栏php418篇文章6订阅订阅专栏tp687篇文章3订阅订阅专栏一、EasyTask简介EasyTask,PHP常驻内存定时器Composer包,与Workerman定时</div> </li> <li><a href="/article/1948820040535044096.htm" title="thinkphp扩展插件" target="_blank">thinkphp扩展插件</a> <span class="text-muted"></span> <div>列表数据格式依次为:描述插件(或扩展)Composer包名——仓库地址请使用composerrequireComposer包名安装插件或扩展数据库数据库迁移工具topthink/think-migration——https://github.com/top-think/think-migrationORM类库topthink/think-orm——https://github.com/top-th</div> </li> <li><a href="/article/1948819914206801920.htm" title="THINKPHP官方推荐第三方插件库" target="_blank">THINKPHP官方推荐第三方插件库</a> <span class="text-muted">itlixw</span> <a class="tag" taget="_blank" href="/search/thinkphp/1.htm">thinkphp</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</a> <div>数据库数据库迁移工具topthink/think-migration——https://github.com/top-think/think-migrationORM类库topthink/think-orm——https://github.com/top-think/think-ormOracle驱动topthink/think-oracle——https://github.com/top-thi</div> </li> <li><a href="/article/1948703211472875520.htm" title="每日英汉对照(238-10-11)" target="_blank">每日英汉对照(238-10-11)</a> <span class="text-muted">快乐有你_1ec8</span> <div>1CanIaskyousomething?我能问你件事吗?2Sure.当然。3DoyouknowyourfriendStuart?是关于你的朋友斯图尔特?4Well,heaskedmeoutagainandIsaidyes,andthenIstartedthinkingmaybeIshouldtalktoyourfirst.他又约我出去了,我答应了,然后我觉得应该先和你谈谈。5Aboutwhat?</div> </li> <li><a href="/article/1948568536649625600.htm" title="我们的答案:AT Work 2.0正式发布" target="_blank">我们的答案:AT Work 2.0正式发布</a> <span class="text-muted">敖行客 Allthinker</span> <a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/%E6%88%91%E4%BB%AC%E7%9A%84%E7%AD%94%E6%A1%88/1.htm">我们的答案</a><a class="tag" taget="_blank" href="/search/%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91/1.htm">软件开发</a><a class="tag" taget="_blank" href="/search/%E9%A1%B9%E7%9B%AE%E7%AE%A1%E7%90%86/1.htm">项目管理</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E8%BE%91%E5%99%A8/1.htm">编辑器</a><a class="tag" taget="_blank" href="/search/IDE/1.htm">IDE</a> <div>我们的答案:ATWork2.0正式发布介绍敖行客成立至今,已有5年了,在产品即将发布之前,想给大家分享下做敖行客Allthinker这个公司和做ATWork这个产品的初衷。灵感来源于2014年,当时我还是某金融科技公司的区域销售负责人,处在互联网爆发期的金融行业,充满了生机勃勃的创新思维,为了不落后于同业,互联网系统项目层出不穷。我们在北京同时服务了几个银行客户,一天接到客户电话,说项目组遇到了一</div> </li> <li><a href="/article/1948561377593454592.htm" title="英语流利说 Level6 Unit1 Part2 Dialogue" target="_blank">英语流利说 Level6 Unit1 Part2 Dialogue</a> <span class="text-muted">咔哧咔哧大橙子</span> <div>ChangesinLifeWhatareyouthinkingabout?Youlooksopensive.IwasjustthinkingabouthowmuchthingshavechangedsinceIwasachild.Oh,sometimesIthinkaboutthattoo.Whatwereyourthoughts?Nostalgicforsure.GenerallyIrememb</div> </li> <li><a href="/article/1948179615084244992.htm" title="[论文阅读] 人工智能 + 软件工程 | LLM优化RTL代码:在时序逻辑面前栽了跟头?—— 一项基于变形策略的实证研究" target="_blank">[论文阅读] 人工智能 + 软件工程 | LLM优化RTL代码:在时序逻辑面前栽了跟头?—— 一项基于变形策略的实证研究</a> <span class="text-muted">张较瘦_</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E6%B2%BF%E6%8A%80%E6%9C%AF/1.htm">前沿技术</a><a class="tag" taget="_blank" href="/search/%E8%AE%BA%E6%96%87%E9%98%85%E8%AF%BB/1.htm">论文阅读</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a> <div>LLM优化RTL代码:在时序逻辑面前栽了跟头?——一项基于变形策略的实证研究论文标题:RethinkingLLM-BasedRTLCodeOptimizationViaTimingLogicMetamorphosisarXiv:2507.16808[pdf,html,other]RethinkingLLM-BasedRTLCodeOptimizationViaTimingLogicMetamorp</div> </li> <li><a href="/article/1948043837842714624.htm" title="YFCMF-TP6 改后台模块路径方法" target="_blank">YFCMF-TP6 改后台模块路径方法</a> <span class="text-muted">huluang</span> <a class="tag" taget="_blank" href="/search/php/1.htm">php</a> <div>1、创建表单,表民phpthinkcrud-tbeian_dignji-u12、app路径controllerlang/zh-cnmodelvalidateview以及public/assets/js/backend/找到beian_dignji每个路径下创建需要增加的文件夹名称,如beian,并将以上目录的文件或文件夹剪切到当前文件及下3、编辑表fa_auth_rule规则名称主要为105,上级</div> </li> <li><a href="/article/1947905064383344640.htm" title="快手开源 Kwaipilot-AutoThink 思考模型,有效解决过度思考问题" target="_blank">快手开源 Kwaipilot-AutoThink 思考模型,有效解决过度思考问题</a> <span class="text-muted"></span> <div>新闻在专为防止数据泄露设计的挑战性基准测试LiveCodeBenchPro中,Kwaipilot-AutoThink位列所有开源模型榜首,甚至超越了Seed和o3-mini等强大的专有系统。介绍KAT(Kwaipilot-AutoThink)是一个开源大语言模型,通过学习何时生成显式思维链及何时直接作答,有效缓解过度思考问题。它的发展遵循简洁的两阶段训练流程:阶段核心思想关键技术成果1.预训练阶段</div> </li> <li><a href="/article/1947883004756029440.htm" title="tp5 model 使用" target="_blank">tp5 model 使用</a> <span class="text-muted"></span> <div>在thinkphp3.X的时候我们经常使用M,D方法实例化一个model,然后通过model对数据进行增删改查操作。在tp5的时候,如果再想用上面的方法,必须先定义model,刚开始的时候怎么定义都说找不到类,后来不知道怎么回事就好了,例如数据库中有表user,在application\index\model目录下建立文件User.php,然后里面这样写几个关键点:一定要写usethink\Mod</div> </li> <li><a href="/article/1947605217704996864.htm" title="『Day95星球晨间复盘』" target="_blank">『Day95星球晨间复盘』</a> <span class="text-muted">佳霏老师</span> <div>一、Do冥想每日计划阅读《活法》瑜伽笔的故事二、Feel冥想专注于呼吸,享受到内心的宁静,冥想完后坐在窗前,感受到外面微风吹来的凉爽,往窗外看到,远处的一棵大树和山忠于职守地站立着三、Think人生的意义是什么?早上在看稻盛和夫先生的《活法》,开篇先生就提出了一个哲学问题:我们的人生意义是什么?人生的目的在哪里?先生的答案是:提升心性,磨练灵魂。为了在死的时候,灵魂比生的时候更纯洁一些,或者说带着</div> </li> <li><a href="/article/1947496518239973376.htm" title="阿里巴巴推出ThinkSound:让AI像音效师一样“思考“创造声音" target="_blank">阿里巴巴推出ThinkSound:让AI像音效师一样“思考“创造声音</a> <span class="text-muted">至顶头条</span> <a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/1.htm">机器学习</a> <div>这项由阿里巴巴通义实验室的刘华戴博士领导,联合香港科技大学和浙江大学共同完成的突破性研究,于2025年6月26日发表在arXiv预印本平台。有兴趣深入了解的读者可以通过论文编号arXiv:2506.21448v1访问完整论文,演示页面也可在https://ThinkSound-Demo.github.io查看。当你看电影时,是否想过那些逼真的音效是如何产生的?当汽车在银幕上疾驰而过,你听到的引擎轰</div> </li> <li><a href="/article/1947486560286994432.htm" title="无声视频自动配音效,开源模型thinksound 和mmaudio复现" target="_blank">无声视频自动配音效,开源模型thinksound 和mmaudio复现</a> <span class="text-muted">请站在我身后</span> <a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95%E5%A4%8D%E7%8E%B0/1.htm">算法复现</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%A7%86%E8%A7%89/1.htm">计算机视觉</a><a class="tag" taget="_blank" href="/search/AIGC/1.htm">AIGC</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a> <div>朋友们,好久没看csdn发现自己的文章还有人在看,所以还是来更新了最近ASMR的视频蛮火的,就是切开任何东西会发出声音,但我看教程都是走到app的自动生成音效感觉无趣,还是自己复现1、thinksound最近一致排名挺高的一个项目,但是我个人感觉应该是训练的问题,效果真的不怎么好。ThinkSound:Chain-of-ThoughtReasoninginMultimodalLargeLangua</div> </li> <li><a href="/article/1947481389540634624.htm" title="ThinkSound:阿里开源首个“会思考”的音频生成模型——从“看图配音”到“听懂画面”的技术跃迁" target="_blank">ThinkSound:阿里开源首个“会思考”的音频生成模型——从“看图配音”到“听懂画面”的技术跃迁</a> <span class="text-muted">从零开始学习人工智能</span> <a class="tag" taget="_blank" href="/search/%E9%9F%B3%E8%A7%86%E9%A2%91/1.htm">音视频</a> <div>1.为什么「看懂」还不够,AI必须「听懂」画面?过去两年,视频生成模型把画面做到了4K60fps,音频却仍是“罐头音效”:狗叫永远是同一段WAV,飞机轰鸣与镜头距离无关,雨点落在铁皮和草地声音毫无区别。根本原因在于——模型并不理解“为什么这个物体在这个场景会发出这样的声音”,只能做粗糙的“像素→波形”映射。阿里巴巴通义实验室在2025-07-20开源的ThinkSound,第一次把CoT(Chai</div> </li> <li><a href="/article/1947402951114944512.htm" title="小程序源码:全新超火的微信小说小程序源码-自带采集带安装教程-多玩法安装简单" target="_blank">小程序源码:全新超火的微信小说小程序源码-自带采集带安装教程-多玩法安装简单</a> <span class="text-muted">哔咔app下载入口</span> <a class="tag" taget="_blank" href="/search/%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F/1.htm">微信小程序</a><a class="tag" taget="_blank" href="/search/%E6%BA%90%E7%A0%81%E6%95%99%E7%A8%8B/1.htm">源码教程</a><a class="tag" taget="_blank" href="/search/%E5%B0%8F%E7%A8%8B%E5%BA%8F%E6%BA%90%E7%A0%81/1.htm">小程序源码</a><a class="tag" taget="_blank" href="/search/%E5%B0%8F%E7%A8%8B%E5%BA%8F/1.htm">小程序</a><a class="tag" taget="_blank" href="/search/%E5%BE%AE%E4%BF%A1/1.htm">微信</a><a class="tag" taget="_blank" href="/search/%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F/1.htm">微信小程序</a> <div>下面给大家带来一款最近超火的一款微信小说小程序源码本套源码自带采集,拿到手的时候没有安装教程不过小编在测试的时候给大家把安装教程给补上了安装教程:PHP选择5.6以上的版本上传我们的后端解压伪静态选择thinkphp修改数据库链接文件config/database.php然后我们导入数据库后台点击小程序把你的小程序该设置的设置就可以了小说的话就点击数据采集然后采集就可以了小程序首页轮播推荐和首页分</div> </li> <li><a href="/article/1947345687649775616.htm" title="2018-11-01 每日一词 essence" target="_blank">2018-11-01 每日一词 essence</a> <span class="text-muted">夏炎学英语</span> <div>essencethemostbasicandimportantqualityofsomething例句:Theessenceofeducationistoteachstudentshowtothinkcritically.1)常用搭配“本质”:与形容词real、true、very搭配;与动词capture、convey、embody、represent搭配;inessence,大体上,本质上。“精</div> </li> <li><a href="/article/1947275638490591232.htm" title="PHP 性能优化全攻略:提升 Web 应用速度的关键" target="_blank">PHP 性能优化全攻略:提升 Web 应用速度的关键</a> <span class="text-muted">来恩1003</span> <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/%E4%BB%8E%E5%85%A5%E9%97%A8%E5%88%B0%E7%B2%BE%E9%80%9A/1.htm">从入门到精通</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</a><a class="tag" taget="_blank" href="/search/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/1.htm">性能优化</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>PHP学习资料PHP学习资料PHP学习资料在Web开发领域,PHP凭借其简单易用、开源免费等特性,成为众多开发者构建网站和应用的首选语言。然而,随着业务的发展和用户量的增加,PHP应用的性能问题逐渐凸显。性能不佳不仅会导致用户体验下降,还可能影响业务的发展。因此,对PHP代码进行性能优化至关重要。本文将深入探讨PHP性能优化的各个方面,包括缓存的使用、代码优化策略以及服务器配置优化等,帮助开发者打</div> </li> <li><a href="/article/1947108959789838336.htm" title="Sequential Thinking:AI深度思考的新范式及其与CoT、ReAct的对比分析" target="_blank">Sequential Thinking:AI深度思考的新范式及其与CoT、ReAct的对比分析</a> <span class="text-muted">码字的字节</span> <a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/Sequential/1.htm">Sequential</a><a class="tag" taget="_blank" href="/search/CoT/1.htm">CoT</a><a class="tag" taget="_blank" href="/search/ReAct/1.htm">ReAct</a> <div>引言:AI深度思考的演进与SequentialThinking的崛起在人工智能技术快速发展的今天,AI模型的思考能力正经历着从简单应答到深度推理的革命性转变。这一演进过程不仅反映了技术本身的进步,更体现了人类对机器智能认知边界的持续探索。早期的大语言模型虽然能够生成流畅的文本,但在处理复杂问题时往往表现出"浅思考"的局限性——答案可能看似合理,却缺乏严谨的推理过程和系统性考量。例如,2022年的一</div> </li> <li><a href="/article/57.htm" title="多线程编程之join()方法" target="_blank">多线程编程之join()方法</a> <span class="text-muted">周凡杨</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/JOIN/1.htm">JOIN</a><a class="tag" taget="_blank" href="/search/%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">多线程</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a><a class="tag" taget="_blank" href="/search/%E7%BA%BF%E7%A8%8B/1.htm">线程</a> <div>现实生活中,有些工作是需要团队中成员依次完成的,这就涉及到了一个顺序问题。现在有T1、T2、T3三个工人,如何保证T2在T1执行完后执行,T3在T2执行完后执行?问题分析:首先问题中有三个实体,T1、T2、T3, 因为是多线程编程,所以都要设计成线程类。关键是怎么保证线程能依次执行完呢? &nbsp; Java实现过程如下: public class T1 implements Runnabl</div> </li> <li><a href="/article/184.htm" title="java中switch的使用" target="_blank">java中switch的使用</a> <span class="text-muted">bingyingao</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/enum/1.htm">enum</a><a class="tag" taget="_blank" href="/search/break/1.htm">break</a><a class="tag" taget="_blank" href="/search/continue/1.htm">continue</a> <div>java中的switch仅支持case条件仅支持int、enum两种类型。 用enum的时候,不能直接写下列形式。 switch (timeType) { case ProdtransTimeTypeEnum.DAILY: break; default: br</div> </li> <li><a href="/article/311.htm" title="hive having count 不能去重" target="_blank">hive having count 不能去重</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/hive/1.htm">hive</a><a class="tag" taget="_blank" href="/search/%E5%8E%BB%E9%87%8D/1.htm">去重</a><a class="tag" taget="_blank" href="/search/having+count/1.htm">having count</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E6%95%B0/1.htm">计数</a> <div>hive在使用having count()是,不支持去重计数 &nbsp; hive (default)&gt; select imei from t_test_phonenum where ds=20150701 group by imei having count(distinct phone_num)&gt;1 limit 10;&nbsp; FAILED: SemanticExcep</div> </li> <li><a href="/article/438.htm" title="WebSphere对JSP的缓存" target="_blank">WebSphere对JSP的缓存</a> <span class="text-muted">周凡杨</span> <a class="tag" taget="_blank" href="/search/WAS+JSP+%E7%BC%93%E5%AD%98/1.htm">WAS JSP 缓存</a> <div>&nbsp; &nbsp; &nbsp; 对于线网上的工程,更新JSP到WebSphere后,有时会出现修改的jsp没有起作用,特别是改变了某jsp的样式后,在页面中没看到效果,这主要就是由于websphere中缓存的缘故,这就要清除WebSphere中jsp缓存。要清除WebSphere中JSP的缓存,就要找到WAS安装后的根目录。 &nbsp; &nbsp; &nbsp; &nbsp;现服务</div> </li> <li><a href="/article/565.htm" title="设计模式总结" target="_blank">设计模式总结</a> <span class="text-muted">朱辉辉33</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a> <div>1.工厂模式 &nbsp; 1.1 工厂方法模式 (由一个工厂类管理构造方法) &nbsp;&nbsp;&nbsp;&nbsp; 1.1.1普通工厂模式(一个工厂类中只有一个方法) &nbsp;&nbsp;&nbsp;&nbsp; 1.1.2多工厂模式(一个工厂类中有多个方法) &nbsp;&nbsp;&nbsp;&nbsp; 1.1.3静态工厂模式(将工厂类中的方法变成静态方法) &n</div> </li> <li><a href="/article/692.htm" title="实例:供应商管理报表需求调研报告" target="_blank">实例:供应商管理报表需求调研报告</a> <span class="text-muted">老A不折腾</span> <a class="tag" taget="_blank" href="/search/finereport/1.htm">finereport</a><a class="tag" taget="_blank" href="/search/%E6%8A%A5%E8%A1%A8%E7%B3%BB%E7%BB%9F/1.htm">报表系统</a><a class="tag" taget="_blank" href="/search/%E6%8A%A5%E8%A1%A8%E8%BD%AF%E4%BB%B6/1.htm">报表软件</a><a class="tag" taget="_blank" href="/search/%E4%BF%A1%E6%81%AF%E5%8C%96%E9%80%89%E5%9E%8B/1.htm">信息化选型</a> <div>引言 随着企业集团的生产规模扩张,为支撑全球供应链管理,对于供应商的管理和采购过程的监控已经不局限于简单的交付以及价格的管理,目前采购及供应商管理各个环节的操作分别在不同的系统下进行,而各个数据源都独立存在,无法提供统一的数据支持;因此,为了实现对于数据分析以提供采购决策,建立报表体系成为必须。 业务目标 1、通过报表为采购决策提供数据分析与支撑 2、对供应商进行综合评估以及管理,合理管理和</div> </li> <li><a href="/article/819.htm" title="mysql" target="_blank">mysql</a> <span class="text-muted">林鹤霄</span> <div>转载源:http://blog.sina.com.cn/s/blog_4f925fc30100rx5l.html mysql -uroot -p ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) &nbsp; [root@centos var]# service mysql</div> </li> <li><a href="/article/946.htm" title="Linux下多线程堆栈查看工具(pstree、ps、pstack)" target="_blank">Linux下多线程堆栈查看工具(pstree、ps、pstack)</a> <span class="text-muted">aigo</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>原文:http://blog.csdn.net/yfkiss/article/details/6729364 &nbsp; 1. pstree pstree以树结构显示进程$ pstree -p work | grep adsshd(22669)---bash(22670)---ad_preprocess(4551)-+-{ad_preprocess}(4552)&nbsp;&nbsp;&n</div> </li> <li><a href="/article/1073.htm" title="html input与textarea 值改变事件" target="_blank">html input与textarea 值改变事件</a> <span class="text-muted">alxw4616</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a> <div>// 文本输入框(input) 文本域(textarea)值改变事件 // onpropertychange(IE) oninput(w3c) $('input,textarea').on('propertychange input', function(event) { &nbsp; &nbsp; &nbsp;console.log($(this).val()) }); &nbsp; </div> </li> <li><a href="/article/1200.htm" title="String类的基本用法" target="_blank">String类的基本用法</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/String/1.htm">String</a> <div>&nbsp; 字符串的用法; &nbsp; &nbsp; // 根据字节数组创建字符串 byte[] by = { 'a', 'b', 'c', 'd' }; String newByteString = new String(by); &nbsp; &nbsp; &nbsp; &nbsp; 1,length() &nbsp;获取字符串的长度 &nbsp; &nbsp; &nbs</div> </li> <li><a href="/article/1327.htm" title="JDK1.5 Semaphore实例" target="_blank">JDK1.5 Semaphore实例</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/thread/1.htm">thread</a><a class="tag" taget="_blank" href="/search/java%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">java多线程</a><a class="tag" taget="_blank" href="/search/Semaphore/1.htm">Semaphore</a> <div>Semaphore类 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 一个计数信号量。从概念上讲,信号量维护了一个许可集合。如有必要,在许可可用前会阻塞每一个 acquire(),然后再获取该许可。每个 release() 添加一个许可,从而可能释放一个正在阻塞的获取者。但是,不使用实际的许可对象,Semaphore 只对可用许可的号码进行计数,并采取相应的行动。 S</div> </li> <li><a href="/article/1454.htm" title="使用GZip来压缩传输量" target="_blank">使用GZip来压缩传输量</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/GZip/1.htm">GZip</a> <div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 启动GZip压缩要用到一个开源的Filter:PJL Compressing Filter。这个Filter自1.5.0开始该工程开始构建于JDK5.0,因此在JDK1.4环境下只能使用1.4.6。 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PJL Compressi</div> </li> <li><a href="/article/1581.htm" title="【Java范型三】Java范型详解之范型类型通配符" target="_blank">【Java范型三】Java范型详解之范型类型通配符</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>&nbsp; &nbsp; 定义如下一个简单的范型类, &nbsp; package com.tom.lang.generics; public class Generics&lt;T&gt; { private T value; public Generics(T value) { this.value = value; } } </div> </li> <li><a href="/article/1708.htm" title="【Hadoop十二】HDFS常用命令" target="_blank">【Hadoop十二】HDFS常用命令</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a> <div>1. 修改日志文件查看器 &nbsp; hdfs oev -i edits_0000000000000000081-0000000000000000089 -o edits.xml cat edits.xml &nbsp; 修改日志文件转储为xml格式的edits.xml文件,其中每条RECORD就是一个操作事务日志 &nbsp; 2. fsimage查看HDFS中的块信息等 &nb</div> </li> <li><a href="/article/1835.htm" title="怎样区别nginx中rewrite时break和last" target="_blank">怎样区别nginx中rewrite时break和last</a> <span class="text-muted">ronin47</span> <div>在使用nginx配置rewrite中经常会遇到有的地方用last并不能工作,换成break就可以,其中的原理是对于根目录的理解有所区别,按我的测试结果大致是这样的。 location&nbsp;/ &nbsp;&nbsp; {&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;proxy_pass&nbsp;http://test;&nbsp;</div> </li> <li><a href="/article/1962.htm" title="java-21.中兴面试题 输入两个整数 n 和 m ,从数列 1 , 2 , 3.......n 中随意取几个数 , 使其和等于 m" target="_blank">java-21.中兴面试题 输入两个整数 n 和 m ,从数列 1 , 2 , 3.......n 中随意取几个数 , 使其和等于 m</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div> import java.util.ArrayList; import java.util.List; import java.util.Stack; public class CombinationToSum { /* 第21 题 2010 年中兴面试题 编程求解: 输入两个整数 n 和 m ,从数列 1 , 2 , 3.......n 中随意取几个数 , 使其和等</div> </li> <li><a href="/article/2089.htm" title="eclipse svn 帐号密码修改问题" target="_blank">eclipse svn 帐号密码修改问题</a> <span class="text-muted">开窍的石头</span> <a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a><a class="tag" taget="_blank" href="/search/SVN/1.htm">SVN</a><a class="tag" taget="_blank" href="/search/svn%E5%B8%90%E5%8F%B7%E5%AF%86%E7%A0%81%E4%BF%AE%E6%94%B9/1.htm">svn帐号密码修改</a> <div>问题描述: &nbsp;&nbsp;&nbsp;&nbsp; Eclipse的SVN插件Subclipse做得很好,在svn操作方面提供了很强大丰富的功能。但到目前为止,该插件对svn用户的概念极为淡薄,不但不能方便地切换用户,而且一旦用户的帐号、密码保存之后,就无法再变更了。 解决思路: &nbsp;&nbsp;&nbsp;&nbsp; 删除subclipse记录的帐号、密码信息,重新输入</div> </li> <li><a href="/article/2216.htm" title="[电子商务]传统商务活动与互联网的结合" target="_blank">[电子商务]传统商务活动与互联网的结合</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E7%94%B5%E5%AD%90%E5%95%86%E5%8A%A1/1.htm">电子商务</a> <div> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 某一个传统名牌产品,过去销售的地点就在某些特定的地区和阶层,现在进入互联网之后,用户的数量群突然扩大了无数倍,但是,这种产品潜在的劣势也被放大了无数倍,这种销售利润与经营风险同步放大的效应,在最近几年将会频繁出现。。。。 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如何避免销售量和利润率增加的</div> </li> <li><a href="/article/2343.htm" title="java 解析 properties-使用 Properties-可以指定配置文件路径" target="_blank">java 解析 properties-使用 Properties-可以指定配置文件路径</a> <span class="text-muted">cuityang</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/properties/1.htm">properties</a> <div>#mq xdr.mq.url=tcp://192.168.100.15:61618; import java.io.IOException; import java.util.Properties; public class Test { String conf = &quot;log4j.properties&quot;; private static final</div> </li> <li><a href="/article/2470.htm" title="Java核心问题集锦" target="_blank">Java核心问题集锦</a> <span class="text-muted">darrenzhu</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%9F%BA%E7%A1%80/1.htm">基础</a><a class="tag" taget="_blank" href="/search/%E6%A0%B8%E5%BF%83/1.htm">核心</a><a class="tag" taget="_blank" href="/search/%E9%9A%BE%E7%82%B9/1.htm">难点</a> <div>注意,这里的参考文章基本来自Effective Java和jdk源码 1)ConcurrentModificationException 当你用for each遍历一个list时,如果你在循环主体代码中修改list中的元素,将会得到这个Exception,解决的办法是: 1)用listIterator, 它支持在遍历的过程中修改元素, 2)不用listIterator, new一个</div> </li> <li><a href="/article/2724.htm" title="1分钟学会Markdown语法" target="_blank">1分钟学会Markdown语法</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/markdown/1.htm">markdown</a> <div>markdown 简明语法 基本符号 *,-,+ 3个符号效果都一样,这3个符号被称为&nbsp;Markdown符号 空白行表示另起一个段落 `是表示inline代码,tab是用来标记 代码段,分别对应html的code,pre标签 换行 单一段落( &lt;p&gt;) 用一个空白行 连续两个空格 会变成一个 &lt;br&gt; 连续3个符号,然后是空行</div> </li> <li><a href="/article/2851.htm" title="Gson使用二(GsonBuilder)" target="_blank">Gson使用二(GsonBuilder)</a> <span class="text-muted">eksliang</span> <a class="tag" taget="_blank" href="/search/json/1.htm">json</a><a class="tag" taget="_blank" href="/search/gson/1.htm">gson</a><a class="tag" taget="_blank" href="/search/GsonBuilder/1.htm">GsonBuilder</a> <div>转载请出自出处:http://eksliang.iteye.com/blog/2175473 一.概述 &nbsp; &nbsp; GsonBuilder用来定制java跟json之间的转换格式 &nbsp; 二.基本使用 实体测试类: 温馨提示:默认情况下@Expose注解是不起作用的,除非你用GsonBuilder创建Gson的时候调用了GsonBuilder.excludeField</div> </li> <li><a href="/article/2978.htm" title="报ClassNotFoundException: Didn't find class "...Activity" on path: DexPathList" target="_blank">报ClassNotFoundException: Didn't find class "...Activity" on path: DexPathList</a> <span class="text-muted">gundumw100</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>有一个工程,本来运行是正常的,我想把它移植到另一台PC上,结果报: java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.mobovip.bgr/com.mobovip.bgr.MainActivity}: java.lang.ClassNotFoundException: Didn't f</div> </li> <li><a href="/article/3105.htm" title="JavaWeb之JSP指令" target="_blank">JavaWeb之JSP指令</a> <span class="text-muted">ihuning</span> <a class="tag" taget="_blank" href="/search/javaweb/1.htm">javaweb</a> <div>&nbsp; 要点 &nbsp; JSP指令简介&nbsp; page指令&nbsp; include指令&nbsp; &nbsp; JSP指令简介&nbsp; &nbsp; JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分。 JSP指令的基本语法格式: &lt;%@ 指令 属性名=&quot;</div> </li> <li><a href="/article/3232.htm" title="mac上编译FFmpeg跑ios" target="_blank">mac上编译FFmpeg跑ios</a> <span class="text-muted">啸笑天</span> <a class="tag" taget="_blank" href="/search/ffmpeg/1.htm">ffmpeg</a> <div>1、下载文件:https://github.com/libav/gas-preprocessor, 复制gas-preprocessor.pl到/usr/local/bin/下, 修改文件权限:chmod 777 /usr/local/bin/gas-preprocessor.pl 2、安装yasm-1.2.0 curl http://www.tortall.net/projects/yasm</div> </li> <li><a href="/article/3359.htm" title="sql mysql oracle中字符串连接" target="_blank">sql mysql oracle中字符串连接</a> <span class="text-muted">macroli</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/SQL+Server/1.htm">SQL Server</a> <div>有的时候,我们有需要将由不同栏位获得的资料串连在一起。每一种资料库都有提供方法来达到这个目的: MySQL: CONCAT() Oracle: CONCAT(), || SQL Server: + CONCAT() 的语法如下: Mysql 中 CONCAT(字串1, 字串2, 字串3, ...): 将字串1、字串2、字串3,等字串连在一起。 请注意,Oracle的CON</div> </li> <li><a href="/article/3486.htm" title="Git fatal: unab SSL certificate problem: unable to get local issuer ce rtificate" target="_blank">Git fatal: unab SSL certificate problem: unable to get local issuer ce rtificate</a> <span class="text-muted">qiaolevip</span> <a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E6%B0%B8%E6%97%A0%E6%AD%A2%E5%A2%83/1.htm">学习永无止境</a><a class="tag" taget="_blank" href="/search/%E6%AF%8F%E5%A4%A9%E8%BF%9B%E6%AD%A5%E4%B8%80%E7%82%B9%E7%82%B9/1.htm">每天进步一点点</a><a class="tag" taget="_blank" href="/search/git/1.htm">git</a><a class="tag" taget="_blank" href="/search/%E7%BA%B5%E8%A7%82%E5%8D%83%E8%B1%A1/1.htm">纵观千象</a> <div>// 报错如下: $ git pull origin master fatal: unable to access 'https://git.xxx.com/': SSL certificate problem: unable to get local issuer ce rtificate &nbsp; // 原因: 由于git最新版默认使用ssl安全验证,但是我们是使用的git未设</div> </li> <li><a href="/article/3613.htm" title="windows命令行设置wifi" target="_blank">windows命令行设置wifi</a> <span class="text-muted">surfingll</span> <a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/wifi/1.htm">wifi</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0%E6%9C%ACwifi/1.htm">笔记本wifi</a> <div>还没有讨厌无线wifi的无尽广告么,还在耐心等待它慢慢启动么 教你命令行设置 笔记本电脑wifi: 1、开启wifi命令 netsh wlan set hostednetwork mode=allow ssid=surf8 key=bb123456 netsh wlan start hostednetwork pause 其中pause是等待输入,可以去掉 2、</div> </li> <li><a href="/article/3740.htm" title="Linux(Ubuntu)下安装sysv-rc-conf" target="_blank">Linux(Ubuntu)下安装sysv-rc-conf</a> <span class="text-muted">wmlJava</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/ubuntu/1.htm">ubuntu</a><a class="tag" taget="_blank" href="/search/sysv-rc-conf/1.htm">sysv-rc-conf</a> <div>安装:sudo apt-get install sysv-rc-conf 使用:sudo sysv-rc-conf 操作界面十分简洁,你可以用鼠标点击,也可以用键盘方向键定位,用空格键选择,用Ctrl+N翻下一页,用Ctrl+P翻上一页,用Q退出。 &nbsp; &nbsp; 背景知识 sysv-rc-conf是一个强大的服务管理程序,群众的意见是sysv-rc-conf比chkconf</div> </li> <li><a href="/article/3867.htm" title="svn切换环境,重发布应用多了javaee标签前缀" target="_blank">svn切换环境,重发布应用多了javaee标签前缀</a> <span class="text-muted">zengshaotao</span> <a class="tag" taget="_blank" href="/search/javaee/1.htm">javaee</a> <div>更换了开发环境,从杭州,改变到了上海。svn的地址肯定要切换的,切换之前需要将原svn自带的.svn文件信息删除,可手动删除,也可通过废弃原来的svn位置提示删除.svn时删除。 &nbsp; 然后就是按照最新的svn地址和规范建立相关的目录信息,再将原来的纯代码信息上传到新的环境。然后再重新检出,这样每次修改后就可以看到哪些文件被修改过,这对于增量发布的规范特别有用。 &nbsp; 检出</div> </li> </ul> </div> </div> </div> <div> <div class="container"> <div class="indexes"> <strong>按字母分类:</strong> <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a> </div> </div> </div> <footer id="footer" class="mb30 mt30"> <div class="container"> <div class="footBglm"> <a target="_blank" href="/">首页</a> - <a target="_blank" href="/custom/about.htm">关于我们</a> - <a target="_blank" href="/search/Java/1.htm">站内搜索</a> - <a target="_blank" href="/sitemap.txt">Sitemap</a> - <a target="_blank" href="/custom/delete.htm">侵权投诉</a> </div> <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved. <!-- <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>--> </div> </div> </footer> <!-- 代码高亮 --> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script> <link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/> <script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script> </body> </html>