wordpress 表单插件

需求: 做一个页面,收集用户的申请意向,需要自定义表单

首先需要创建数据表

function install_coopertion() {
	global $wpdb;
  $table_name = $wpdb->prefix . "thetable";

  if($wpdb->get_var("show tables like '$table_name'") != $table_name) {
  	$sql = "CREATE TABLE " . $table_name . " (
		  id mediumint(9) NOT NULL AUTO_INCREMENT,
		  time bigint(11) DEFAULT '0' NOT NULL,
		  name text NOT NULL,
		  phone text NOT NULL,
		  status int,
		  UNIQUE KEY id (id)
		);";

	  require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
	  dbDelta($sql);
  }
}

删除数据表

function drop_coopertion() {
	// global $wpdb;
  // $table_name = $wpdb->prefix . "thetable";

  // $wpdb->query("DROP TABLE IF EXISTS " . $table_name);
}

注册

// 插件激活时,运行回调方法创建数据表, 在WP中添加表
register_activation_hook(__FILE__, 'install_coopertion');
// 插件停用时,运行回调方法删除数据表,删除表

register_deactivation_hook(__FILE__, 'drop_coopertion');


接下来创建菜单

function cooperation_edit_menu()
{
   global $wpdb;
   include 'cooperact.php';
}

function cooperation_admin_actions()
{
  add_menu_page(
   	"合作意向申请", 页面的 title, 和显示在  标签里的一样
   	"申请列表", //在控制面板中显示的名称
   	'administrator', //要浏览菜单所要的最低权限
   	__FILE__, // 要引用该菜单的别名; 必须是唯一的
   	"cooperation_edit_menu", // 要显示菜单对应的页面内容所调用的函数
   	admin_url( '/images/media-button.png', __FILE ) //菜单的 icon 图片的 URL
   );
}</code></pre> 
  <p>注册</p> 
  <p>add_action('admin_menu', 'cooperation_admin_actions');<br></p> 
  <p><br></p> 
  <p>完整代码</p> 
  <pre><code class="language-php">Plugin Name: 合作意向申请
Description: 合作意向申请表单.
Author: Donald
Version: 1.0
Author Donald
*/

function install_coopertion() {
	global $wpdb;
  $table_name = $wpdb->prefix . "thetable";

  if($wpdb->get_var("show tables like '$table_name'") != $table_name) {
  	$sql = "CREATE TABLE " . $table_name . " (
		  id mediumint(9) NOT NULL AUTO_INCREMENT,
		  time bigint(11) DEFAULT '0' NOT NULL,
		  name text NOT NULL,
		  phone text NOT NULL,
		  status int,
		  UNIQUE KEY id (id)
		);";

	  require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
	  dbDelta($sql);
  }
}

function drop_coopertion() {
	// global $wpdb;
  // $table_name = $wpdb->prefix . "thetable";

  // $wpdb->query("DROP TABLE IF EXISTS " . $table_name);
}

// 插件激活时,运行回调方法创建数据表, 在WP中添加表
register_activation_hook(__FILE__, 'install_coopertion');
// 插件停用时,运行回调方法删除数据表,删除表
register_deactivation_hook(__FILE__, 'drop_coopertion');

function cooperation_edit_menu()
{
   global $wpdb;
   include 'cooperact.php';
}

function cooperation_admin_actions()
{
  add_menu_page(
   	"合作意向申请", 
   	"申请列表", 
   	'administrator', 
   	__FILE__, 
   	"cooperation_edit_menu",
   	admin_url( '/images/media-button.png', __FILE ) //菜单的 icon 图片的 URL
   );
}

add_action('admin_menu', 'cooperation_admin_actions');</code></pre> 
  <p><br></p> 
  <p><br></p> 
  <p>增删改查</p> 
  <p><br></p> 
  <pre><code class="language-php">function cooperation_list() {
    global $wpdb;
    $cooperations = $wpdb->get_results("SELECT * FROM " . $wpdb->prefix . "thetable order by id desc limit 10");
   
    if (count($cooperations) <= 0) {
?>
<div id="icon-edit" class="icon32 icon32-posts-post"><br></div>
<h2>申请列表 </h2>
<?php
        echo "暂时没有";
    } else {
?>
<div id="icon-edit" class="icon32 icon32-posts-post"><br></div>
<h2>申请列表 </h2>
  <table class="wp-list-table widefat fixed posts" cellspacing="0">
    <thead>
     <tr>
        <th scope="col" class="manage-column column-cb check-column" style="">
        <input type="checkbox">
        </th>
        <th scope="col" class="manage-column column-title" style="">
        <span>姓名</span><span class="sorting-indicator"></span>
        </th>
        <th scope="col" class=" manage-column column-title" style="">
        <span>联系方式</span><span class="sorting-indicator"></span>
        </th>
        <th scope="col" class=" manage-column column-title" style="">
        <span>状态</span><span class="sorting-indicator"></span>
        </th>
        <th scope="col" class=" manage-column column-title" style="">
        <span>申请日期</span><span class="sorting-indicator"></span>
        </th>
        </tr>
    </thead>
    <tbody id="the-list">
<?php foreach ($cooperations as $coopera) {?>
            <tr id="post-<?php echo $coopera->id; ?>" class="post-<?php echo $coopera->id; ?> post type-post status-publish format-standard hentry category-uncategorized iedit author-self" valign="top">
                <th scope="row" class="check-column"><input type="checkbox" name="post[]" value="id;?>"></th>
                <td class="post-title page-title column-title">
                 <strong><a class="row-title" href="?page=cooperation%2Fcooperation.php&act=editcooperation&id=<?php echo $coopera->id; ?>" title="title;?>"><?php echo $coopera->name;?></a></strong>
                 <div class="row-actions"><span class="edit">
                 <a href='?page=cooperation%2Fcooperation.php&act=editcooperation&id=<?php echo $coopera->id; ?>'>编辑</a> | </span>
                 <span class="inline hide-if-no-js"><a href='?page=cooperation%2Fcooperation.php&act=deletecooperation&id=<?php echo $coopera->id; ?>'>删除</a> </span>
                 </div>
                </td>
              	<td class="post-title page-title column-title">
              		<?php echo $coopera->phone; ?>
                </td>
                
                <td class="post-title page-title column-title">
                	<?php 
	                	if($coopera->status == 1) {
	                		echo '待处理';
	                	} elseif ($coopera->status == 2) {
	                		echo '处理中';
	                	} elseif ($coopera->status == 3) {
	                		echo '处理完毕';
	                	} else {
	                		echo '垃圾信息';
	                	}
                	?>
                </td>
                <td class="post-title page-title column-title">
                 <?php echo date('Y-m-d H:m', $coopera->time); ?>
                </td>
            </tr>
<?php }//end foreach

}//end if
?>
        </tbody>
</table>
<?php


    if (isset ($_GET['id']) && $_GET['act'] == "editcooperation") {
        $id = $_GET['id'];
        cooperation_edit($id);
    }

    if (isset ($_GET['id']) && $_GET['act'] == "updatecooperation") {
        $id = $_GET['id'];
        cooperation_update($id);
    }
    if (isset ($_GET['id']) && $_GET['act'] == "deletecooperation") {
        $id = $_GET['id'];
        cooperation_delete($id);
    }
} 

function cooperation_delete($id) {
    global $wpdb;
    if (!is_numeric($id)) {
        die("参数id错误");
    }
    $table = $wpdb->prefix . 'thetable';
    $result = $wpdb->query("DELETE FROM $table WHERE id = $id ");
    if ($result == 1) {
        $redirect_url = '?page=cooperation%2Fcooperation.php';
				echo '<script>alert("提交成功!"); window.location.href="'.$redirect_url.'"</script>';
				exit;
    }
}

function cooperation_edit($id) {
    global $wpdb;
    if (!is_numeric($id)) {
        die("参数id错误");
    }
    $coopera = $wpdb->get_row("SELECT * FROM " . $wpdb->prefix . "thetable" . " WHERE id=$id");
?>
<br/>
<form action="?page=cooperation%2Fcooperation.php&act=updatecooperation&id=<?php echo $coopera->id; ?>" method="post">
     <table class="widefat" cellspacing="0" >
     <thead>
     <tr>
        <th scope="col" class="manage-column column-title" colspan="4">编辑申请
        </th>
     </tr>
    </thead>
      <tbody>
        <tr>
        	<td></td>
        	<td></td>
        </tr>
        <tr>
        	<td>姓名</td>
        	<td><input type='text' value='<?php echo $coopera->name; ?>' name='name' > </td>
        </tr>
        <tr>
        	<td>联系方式</td>
        	<td><input type='text' value='<?php echo $coopera->phone; ?>' name='phone' ></td>
        </tr>
        
        <tr>
        	<td>状态</td>
        	<td>
        		<select name="status">
        			<option value="-1">请选择</option>
							<option value="0" <?php if($coopera->status == 0) { echo "selected='selected'"; }?>>垃圾信息</option>
							<option value="1" <?php if($coopera->status == 1) { echo "selected='selected'"; }?>>待处理</option>
							<option value="2" <?php if($coopera->status == 2) { echo "selected='selected'"; }?>>处理中</option>
							<option value="3" <?php if($coopera->status == 3) { echo "selected='selected'"; }?>>处理完毕</option>
						</select>
        	</td>
        </tr>
        <tr>
        	<td></td>
        	<td><input type='submit' value='保存'></td>
        </tr>
       </tbody>
     </table>
   </form>

<?php
}

function cooperation_update($id) {
	global $wpdb;
   if (!is_numeric($id)) {
       die("参数id错误");
   }
	$data = [
		'name' => esc_sql($_POST['name']),
		'phone' => esc_sql($_POST['phone']),
		'status' => intval($_POST['status']) // 0: 垃圾信息, 1:待处理, 2:处理中, 3: 处理完毕
	];
	$condition['id'] = $id;

  $result = $wpdb->update($wpdb->prefix . "thetable", $data, $condition);
  $redirect_url = '?page=cooperation%2Fcooperation.php';
	echo '<script>alert("提交成功!"); window.location.href="'.$redirect_url.'"</script>';
	exit;
}

cooperation_list();</code></pre> 
  <br> 
 </div> 
</div>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1296729399806205952"></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">你可能感兴趣的:(php)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1896726115288936448.htm"
                           title="THINKPHP5获取当前页面URL信息" target="_blank">THINKPHP5获取当前页面URL信息</a>
                        <span class="text-muted">向宇it</span>
<a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/thinkphp/1.htm">thinkphp</a><a class="tag" taget="_blank" href="/search/thinkphp/1.htm">thinkphp</a><a class="tag" taget="_blank" href="/search/%E5%9F%9F%E5%90%8D/1.htm">域名</a>
                        <div>想要获取当前页面的url信息,可以借助thinkphp自带的request类来获取当前的url信息使用\think\Request类$request=Request::instance();或者使用自带的助手函数$request=request();$request=Request::instance();//获取当前域名echo'domain:'.$request->domain().'';//</div>
                    </li>
                    <li><a href="/article/1896716919269027840.htm"
                           title="UNIAPP前端配合thinkphp5后端通过高德API获取当前城市天气预报" target="_blank">UNIAPP前端配合thinkphp5后端通过高德API获取当前城市天气预报</a>
                        <span class="text-muted">知码客</span>
<a class="tag" taget="_blank" href="/search/Uniapp/1.htm">Uniapp</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/%E7%9F%A5%E7%A0%81%E5%AE%A2/1.htm">知码客</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a>
                        <div>如何通过UniApp前端项目与ThinkPHP5后端结合高德天气API获取天气预报信息。我们将分为前端和后端两部分进行实现。以下是一个完整的代码.一、项目结构project/├──frontend/(UniApp项目)│├──pages/││└──weather/││├──index.vue├──backend/(ThinkPHP5项目)│├──application/││├──controlle</div>
                    </li>
                    <li><a href="/article/1896624540012834816.htm"
                           title="PHP任务系统管理工具:团队协作的高效解决方案" target="_blank">PHP任务系统管理工具:团队协作的高效解决方案</a>
                        <span class="text-muted"></span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>在软件开发领域,任务系统管理工具对于提升项目效率和团队协作至关重要。PHP作为一种广泛使用的编程语言,拥有众多优秀的任务系统管理工具。这些工具不仅帮助开发者更好地管理和优化任务系统,还能提高工作效率,确保项目按时交付。本文将介绍几款流行的PHP任务系统管理工具,并探讨它们的特点和优势。一、PHP任务系统管理工具的重要性任务系统管理工具在软件开发过程中扮演着重要角色。它们可以帮助团队更好地分配和管理</div>
                    </li>
                    <li><a href="/article/1896547065295597568.htm"
                           title="PHP缓存技术优化:提升网站性能的关键" target="_blank">PHP缓存技术优化:提升网站性能的关键</a>
                        <span class="text-muted">奥顺互联V</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/%E7%BC%93%E5%AD%98/1.htm">缓存</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>在当今互联网高速发展的时代,网站性能优化成为各大企业以及个人开发者关注的焦点。而PHP缓存技术作为提升网站性能的关键技术之一,其优化对于网站加载速度、用户体验以及SEO排名等方面都有着重要的作用。本文将介绍PHP缓存技术的优化方法,帮助开发者更好地提升网站性能。一、为什么需要PHP缓存技术随着网站访问量的增加,PHP脚本的执行时间成为网站性能的瓶颈之一。每次访问页面都需要重新执行PHP脚本、查询数</div>
                    </li>
                    <li><a href="/article/1896546937188970496.htm"
                           title="include 与 require 的区别及最佳使用场景" target="_blank">include 与 require 的区别及最佳使用场景</a>
                        <span class="text-muted">奥顺互联V</span>
<a class="tag" taget="_blank" href="/search/php/1.htm">php</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E6%BA%90/1.htm">开源</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</a>
                        <div>include与require的区别及最佳使用场景在PHP开发中,include和require是用于引入外部文件的核心关键字。尽管两者功能相似,但它们在错误处理、执行逻辑和使用场景上存在显著差异。本文将深入解析这些区别,并提供实际开发中的最佳实践建议。一、核心区别1.错误处理机制require当目标文件不存在或包含失败时,会触发致命错误(E_COMPILE_ERROR),导致脚本立即终止。例如,</div>
                    </li>
                    <li><a href="/article/1896546937788755968.htm"
                           title="如何使用 preg_replace 处理复杂字符串替换" target="_blank">如何使用 preg_replace 处理复杂字符串替换</a>
                        <span class="text-muted">奥顺互联V</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/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E7%BC%93%E5%AD%98/1.htm">缓存</a>
                        <div>如何使用preg_replace处理复杂字符串替换在PHP开发中,preg_replace是处理正则表达式替换的核心函数,尤其适用于涉及模式匹配、动态替换和多规则处理的复杂场景。本文将通过实际案例和进阶技巧,解析如何高效利用该函数完成复杂字符串操作。一、基础语法与核心参数preg_replace的基本语法为:mixedpreg_replace(mixed$pattern,mixed$replace</div>
                    </li>
                    <li><a href="/article/1896518429771362304.htm"
                           title="网站页面导入css,图片等文件的相对路径和绝对路径问题" target="_blank">网站页面导入css,图片等文件的相对路径和绝对路径问题</a>
                        <span class="text-muted">porkczr</span>
<a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%AB%99/1.htm">网站</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/%E5%9B%BE%E7%89%87/1.htm">图片</a><a class="tag" taget="_blank" href="/search/%E7%9B%B8%E5%AF%B9%E8%B7%AF%E5%BE%84/1.htm">相对路径</a><a class="tag" taget="_blank" href="/search/%E7%BB%9D%E5%AF%B9%E8%B7%AF%E5%BE%84/1.htm">绝对路径</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E9%A1%B5/1.htm">网页</a>
                        <div>相对路径:“../”表示上一级目录开始,“./”表示当前同级目录开始,相对,肯定是个参考对象,很多人可能会认为这个参考对象就是导入css或图片等的页面,但其实对于网站访问而言,这个对象是参考你所访问的url地址的,因为最近在写thinkphp,相对的话对于thinkphp项目的Get方式访问是没有问题的,但是以默认方式访问就出问题了,图片无法加载,通过调试模式看了一下路径,才知道其实参考的对象是以</div>
                    </li>
                    <li><a href="/article/1896506827118538752.htm"
                           title="从零开始设计一个完整的网站:HTML、CSS、PHP、MySQL 和 JavaScript 实战教程" target="_blank">从零开始设计一个完整的网站:HTML、CSS、PHP、MySQL 和 JavaScript 实战教程</a>
                        <span class="text-muted">web13093320398</span>
<a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E8%B7%AF%E7%BA%BF/1.htm">学习路线</a><a class="tag" taget="_blank" href="/search/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4/1.htm">阿里巴巴</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</a>
                        <div>前言本文将从实战角度出发,带你一步步设计一个完整的网站。我们将从静态网页开始,然后加入动态功能(使用PHP),连接数据库,最后加入JavaScript实现交互功能。通过这个教程,你将掌握一个网站的真正设计过程!目录网站功能设计准备工具设计静态网页(HTML+CSS)设计动态网页(PHP)创建数据库(MySQL)加入JavaScript实现交互测试与发布总结与扩展1.网站功能设计我们的网站将包含以下</div>
                    </li>
                    <li><a href="/article/1896473548063567872.htm"
                           title="ThinkPHP运行目录设置为public子目录" target="_blank">ThinkPHP运行目录设置为public子目录</a>
                        <span class="text-muted">NightReader</span>
<a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>ThinkPHP是一个快速、兼容和简单的面向对象的PHP框架,它遵循MVC(模型-视图-控制器)设计模式。在ThinkPHP框架中,public目录扮演着非常重要的角色,它被设计为框架的公共访问目录。Public目录设置的原因和解决方案是ThinkPHP框架结构和安全策略的核心部分。原因:1)安全性:将public设为唯一的公共访问目录可以增强应用的安全性。通过限制对框架其他部分的访问,可以防止潜</div>
                    </li>
                    <li><a href="/article/1896444044846886912.htm"
                           title="PHP学习案例9 双色球" target="_blank">PHP学习案例9 双色球</a>
                        <span class="text-muted">LOVE RICE</span>
<a class="tag" taget="_blank" href="/search/php/1.htm">php</a>
                        <div><?php//创建一个1-33的红色球号码区数组$red_num=range(1,33);//随机从红色球号码区数组获取6个键$keys=array_rand($red_num,6);//打乱</div>
                    </li>
                    <li><a href="/article/1896443918740942848.htm"
                           title="PHP学习案例8 订货单显示" target="_blank">PHP学习案例8 订货单显示</a>
                        <span class="text-muted">LOVE RICE</span>
<a class="tag" taget="_blank" href="/search/php/1.htm">php</a>
                        <div>'主板','price'=>'379','producing'=>'广东','num'=>3),array</div>
                    </li>
                    <li><a href="/article/1896376574836535296.htm"
                           title="php openssl支持的加密算法和加密模式及加密解密示范实例" target="_blank">php openssl支持的加密算法和加密模式及加密解密示范实例</a>
                        <span class="text-muted">YUJIANYUE</span>
<a class="tag" taget="_blank" href="/search/php/1.htm">php</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>textarea{width:88%;height:188px;}打印原始未加密数据==>$data";$cipher='aes-128-cbc';//定义加密算法和加密模式$key=openssl_random_pseudo_bytes(128);//生成随机密钥//加密数据$ivlen=openssl_cipher_iv_length($cipher);$iv=openssl_random_p</div>
                    </li>
                    <li><a href="/article/1896337355502055424.htm"
                           title="部署Wordpress(LNMP)+ELK" target="_blank">部署Wordpress(LNMP)+ELK</a>
                        <span class="text-muted">多练项目</span>
<a class="tag" taget="_blank" href="/search/Linux/1.htm">Linux</a><a class="tag" taget="_blank" href="/search/%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84/1.htm">系统架构</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/elk/1.htm">elk</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>LNMP+EFK主机软件服务版本主机名192.168.100.100Nginx-1.18、Filebeatnode100192.168.100.101PHP-5.6.27node101192.168.100.102MySQL5.7node102192.168.100.103Kafkakafka103192.168.100.104Kafkanode104192.168.100.105Kafkanod</div>
                    </li>
                    <li><a href="/article/1896307342778101760.htm"
                           title="php 设置redis 哈希,Redis 哈希(Hash)" target="_blank">php 设置redis 哈希,Redis 哈希(Hash)</a>
                        <span class="text-muted">weixin_39893042</span>
<a class="tag" taget="_blank" href="/search/php/1.htm">php</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E7%BD%AEredis/1.htm">设置redis</a><a class="tag" taget="_blank" href="/search/%E5%93%88%E5%B8%8C/1.htm">哈希</a>
                        <div>Redishash是一个string类型的field和value的映射表,hash特别适合用于存储对象。Redis中每个hash可以存储232-1键值对(40多亿)。实例redis127.0.0.1:6379>HMSETw3ckeyname"redistutorial"description"redisbasiccommandsforcaching"likes20visitors23000OKre</div>
                    </li>
                    <li><a href="/article/1896304687758503936.htm"
                           title="php设定页面权限,必须正确登录才能访问指定页面" target="_blank">php设定页面权限,必须正确登录才能访问指定页面</a>
                        <span class="text-muted">SugarFreeOixi</span>
<a class="tag" taget="_blank" href="/search/php/1.htm">php</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/%E5%90%8E%E7%AB%AF/1.htm">后端</a>
                        <div>为了防止直接用域名就能访问需要账号密码正确才能进入的php网页,这里给出了一个方法。前提:建立好了数据库的连接,有了搭建好的网页。登录页面:(需求)已经连好了数据库,当用户名以及密码正确才能跳转到指定页面但是,遇到了一个问题:比如说,首页为index.php,指定页面为:www/yuming.cn/file1/chengji.php,我们完全可以通过www.yuming.cn/file1/chen</div>
                    </li>
                    <li><a href="/article/1896285641214324736.htm"
                           title="thinkphp think-captcha 前后端分离 图形验证码" target="_blank">thinkphp think-captcha 前后端分离 图形验证码</a>
                        <span class="text-muted">fendouweiqian</span>
<a class="tag" taget="_blank" href="/search/thinkphp/1.htm">thinkphp</a>
                        <div>think-captcha本身支持API接口的形式返回,可以看到源代码:ob_start();//输出图像imagepng($this->im);$content=ob_get_clean();imagedestroy($this->im);//API调用模式if($this->api){return['code'=>implode('',$text),'img'=>'data:image/png</div>
                    </li>
                    <li><a href="/article/1896252854956519424.htm"
                           title="类似于 FastAdmin的快速后台开发框架都有哪些" target="_blank">类似于 FastAdmin的快速后台开发框架都有哪些</a>
                        <span class="text-muted">zhangfeng1133</span>
<a class="tag" taget="_blank" href="/search/php/1.htm">php</a>
                        <div>类似于FastAdmin,能够根据数据表直接生成程序、语言包和界面的框架,确实存在一些其他的选项。以下是一些推荐:ThinkPHP框架的扩展与工具:除了FastAdmin,ThinkPHP作为一个流行的PHP框架,有很多扩展和工具可以帮助你实现根据数据表自动生成代码的功能。你可以查找一些基于ThinkPHP的CRUD生成器或者代码生成器,它们通常能够根据你的数据库表结构快速生成对应的控制器、模型、</div>
                    </li>
                    <li><a href="/article/1896238223798104064.htm"
                           title="FastAdmin 的安全性分析与最佳实践" target="_blank">FastAdmin 的安全性分析与最佳实践</a>
                        <span class="text-muted">奥顺互联_老张</span>
<a class="tag" taget="_blank" href="/search/php%E6%95%99%E7%A8%8B/1.htm">php教程</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/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</a>
                        <div>FastAdmin的安全性分析与最佳实践FastAdmin是一个基于ThinkPHP的后台管理框架,因其简洁易用和功能强大而受到广泛欢迎。然而,随着网络安全威胁的日益增加,确保FastAdmin应用程序的安全性变得尤为重要。本文将分析FastAdmin的安全性,并提供一些最佳实践,以帮助开发者构建更安全的应用。一、安全性分析1.身份验证与授权FastAdmin提供了用户身份验证和权限管理功能,但开</div>
                    </li>
                    <li><a href="/article/1896237593020919808.htm"
                           title="PHP函数与类:面向对象编程实践指南" target="_blank">PHP函数与类:面向对象编程实践指南</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/android/1.htm">android</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/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E6%BA%90/1.htm">开源</a>
                        <div>PHP函数与类:面向对象编程实践指南PHP的面向对象编程(OOP)能力使其成为构建可维护、可扩展Web应用的重要工具。本文从函数封装到类设计,系统讲解PHP面向对象编程的核心概念与实践技巧。一、函数:代码复用的基本单元1.函数定义与参数传递//基础函数定义functiongreet($name='访客'){return"欢迎,$name!";}echogreet('Alice');//输出:欢迎,</div>
                    </li>
                    <li><a href="/article/1896233685754114048.htm"
                           title="FastAdmin 与其他后台框架的对比分析" target="_blank">FastAdmin 与其他后台框架的对比分析</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/sqlite/1.htm">sqlite</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a>
                        <div>FastAdmin与其他后台框架的对比分析引言在现代Web开发中,后台管理系统是支持各种应用程序的核心部分。随着需求的多样化,许多后台框架应运而生。本文将对FastAdmin与其他常见后台框架(如DjangoAdmin、LaravelNova、AdminLTE)进行对比分析,以帮助开发者选择合适的工具。FastAdmin简介FastAdmin是一个基于ThinkPHP框架的后台管理系统,提供了快速</div>
                    </li>
                    <li><a href="/article/1896233686639112192.htm"
                           title="快速入门 FastAdmin 的开发环境搭建" target="_blank">快速入门 FastAdmin 的开发环境搭建</a>
                        <span class="text-muted">奥顺互联_老张</span>
<a class="tag" taget="_blank" href="/search/php%E6%95%99%E7%A8%8B/1.htm">php教程</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</a><a class="tag" taget="_blank" href="/search/%E7%BC%93%E5%AD%98/1.htm">缓存</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a>
                        <div>快速入门FastAdmin的开发环境搭建FastAdmin是一个基于ThinkPHP和Bootstrap的后台管理框架,专为快速开发而设计。本文将为您详细介绍如何搭建FastAdmin的开发环境,包括所需的环境配置、安装步骤以及简单的示例代码。1.环境要求在开始之前,请确保您的开发环境满足以下要求:PHP7.2及以上版本ComposerMySQL5.6及以上版本Nginx或ApacheGit(可选</div>
                    </li>
                    <li><a href="/article/1896097991459139584.htm"
                           title="PHP到底是如何和服务器各个硬件进行交互的?使用场景是什么?底层原理是什么?" target="_blank">PHP到底是如何和服务器各个硬件进行交互的?使用场景是什么?底层原理是什么?</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>
                        <div>PHP是一种服务器端脚本语言,主要用于Web开发。它通过与服务器硬件和操作系统交互来完成各种任务。1.PHP如何与服务器硬件进行交互?(1)通过操作系统PHP本身并不直接与硬件交互,而是通过操作系统的接口(如系统调用、API)间接访问硬件资源。操作系统负责管理硬件资源(如CPU、内存、硬盘、网络设备),PHP通过调用操作系统的功能来使用这些资源。(2)通过扩展模块PHP提供了大量的扩展模块(如My</div>
                    </li>
                    <li><a href="/article/1896049425638289408.htm"
                           title="在 Ubuntu 下通过 Docker 部署 Caddy 和 PHP-FPM 服务器" target="_blank">在 Ubuntu 下通过 Docker 部署 Caddy 和 PHP-FPM 服务器</a>
                        <span class="text-muted">reddingtons</span>
<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/ubuntu/1.htm">ubuntu</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a>
                        <div>引言大家好,今天我们要聊的主题是如何在Ubuntu上通过Docker部署Caddy和PHP-FPM服务器。Caddy是一个现代化的web服务器,支持HTTPS,配置简单;而PHP-FPM是PHP的FastCGI进程管理器,能够高效处理PHP请求。二者结合,简直是开发者的福音。Docker、Caddy和PHP-FPM简介Docker是一个开源的容器化平台,允许开发者轻松打包、分发和运行应用。通过Do</div>
                    </li>
                    <li><a href="/article/1896004012122107904.htm"
                           title="RabbitMQ复习" target="_blank">RabbitMQ复习</a>
                        <span class="text-muted">SJLoveIT</span>
<a class="tag" taget="_blank" href="/search/rabbitmq/1.htm">rabbitmq</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a>
                        <div>消息中间件的作用:(1)异步处理(2)应用解耦(3)流量削峰消息中间件的缺点:引入了新的东西,也就增加了新的故障点。比如消息中间件挂了,影响系统的可用性。两种框架:JMS和AMQP最大的区别是JMS是是javaapi,对跨平台的支持较差,但在纯java技术栈内首选。AMQP是跨平台的,序列化方式选json,不管你是java,php,C/C++,python,都能处理RabbitMQ实现的事AMQP</div>
                    </li>
                    <li><a href="/article/1895991395122999296.htm"
                           title="828华为云征文 | 使用Flexus云服务器X实例部署GLPI资产管理系统" target="_blank">828华为云征文 | 使用Flexus云服务器X实例部署GLPI资产管理系统</a>
                        <span class="text-muted">降世神童</span>
<a class="tag" taget="_blank" href="/search/%E9%AB%98%E7%BA%A7IT%E8%BF%90%E7%BB%B4%E6%8A%80%E6%9C%AF%E4%B8%93%E6%A0%8F/1.htm">高级IT运维技术专栏</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BA%E4%BA%91/1.htm">华为云</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a>
                        <div>828华为云征文|使用Flexus云服务器X实例部署GLPI资产管理系统1.部署环境说明2.部署基础环境2.1.操作系统基本配置2.2.部署Nginx2.3.部署MySQL2.4.部署PHP3.部署GLPI资产管理系统1.部署环境说明  本次环境选择使用华为云Flexus云服务器X实例,因为其具有高性能的计算能力、灵活的资源配置、稳定的运行环境、高效的网络访问速度、服务的高可用性保证以及多层次的数</div>
                    </li>
                    <li><a href="/article/1895973866166087680.htm"
                           title="PHP Captcha实现图片验证码生成及识别(附源码)" target="_blank">PHP Captcha实现图片验证码生成及识别(附源码)</a>
                        <span class="text-muted">mayday1102</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/captcha/1.htm">captcha</a>
                        <div>目录什么是Captchacomposer安装思路修改Captcha.php源码调用什么是CaptchaCAPTCHA(CompletelyAutomatedPublicTuringTesttoTellComputersandHumansApart)是区分计算机和人类的一种程序算法。composer安装composerrequirephp-quickorm/captcha思路由于原扩展基于sessi</div>
                    </li>
                    <li><a href="/article/1895967305670651904.htm"
                           title="关于解决shell脚本中无法用cd命令,在指定文件下运行指定文件的解决方法分享" target="_blank">关于解决shell脚本中无法用cd命令,在指定文件下运行指定文件的解决方法分享</a>
                        <span class="text-muted">Ramphastos1101</span>
<a class="tag" taget="_blank" href="/search/php/1.htm">php</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</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/bash/1.htm">bash</a>
                        <div>本人以编写shell脚本,一键安装配置php7.3为例前提:本脚本在Linux/opt/目录下运行首先解压php压缩包######配置nginx,带lua支持#################################################tar-zxvf/opt/php-7.3.30.tar.gzif[$?-eq0];thenecho`date"+%y-%m-%d%H:%M:%S</div>
                    </li>
                    <li><a href="/article/1895962012039573504.htm"
                           title="PHP For 循环" target="_blank">PHP For 循环</a>
                        <span class="text-muted">web13688565871</span>
<a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E8%B7%AF%E7%BA%BF/1.htm">学习路线</a><a class="tag" taget="_blank" href="/search/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4/1.htm">阿里巴巴</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>基本概念For循环的结构在PHP编程中,for循环是一种强大的控制结构,用于重复执行特定代码块。其语法结构由三个关键部分组成:初始化表达式、条件表达式和更新表达式。这种结构设计使得for循环特别适合处理已知迭代次数的任务。for循环的基本语法如下:for(初始化表达式;条件表达式;更新表达式){//循环体}初始化表达式初始化表达式在循环开始前执行一次,通常用于设置循环计数器或其他必要的变量。例如:</div>
                    </li>
                    <li><a href="/article/1895884473363394560.htm"
                           title="大模型WebUI:Gradio全解12——LangChain原理、架构和组件(3)" target="_blank">大模型WebUI:Gradio全解12——LangChain原理、架构和组件(3)</a>
                        <span class="text-muted">龙焰智能</span>
<a class="tag" taget="_blank" href="/search/LangChain%E6%9E%B6%E6%9E%84/1.htm">LangChain架构</a><a class="tag" taget="_blank" href="/search/Integration%E5%8C%85/1.htm">Integration包</a><a class="tag" taget="_blank" href="/search/LangGraph/1.htm">LangGraph</a><a class="tag" taget="_blank" href="/search/LangGraph%E5%B9%B3%E5%8F%B0/1.htm">LangGraph平台</a><a class="tag" taget="_blank" href="/search/LangSmith/1.htm">LangSmith</a><a class="tag" taget="_blank" href="/search/Langfuse/1.htm">Langfuse</a>
                        <div>大模型WebUI:Gradio全解12——LangChain原理、架构和组件(3)前言本篇摘要12.LangChain原理及agents构建GradioUI12.3LangChain架构12.3.1LangChain12.3.2IntegrationPackages1.概念2.示例12.3.3LangGraph1.概念2.示例12.3.4LangGraphPlatform1.概览2.优势分析12.</div>
                    </li>
                    <li><a href="/article/1895852451639128064.htm"
                           title="PHP 5 Math 函数" target="_blank">PHP 5 Math 函数</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/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>PHPMath简介Math函数能处理integer和float范围内的值。安装PHPMath函数是PHP核心的组成部分。无需安装即可使用这些函数。PHP5Math函数函数描述abs()返回一个数的绝对值。acos()返回一个数的反余弦。acosh()返回一个数的反双曲余弦。asin()返回一个数的反正弦。asinh()返回一个数的反双曲正弦。atan()返回一个数的反正切。atan2()返回两个变</div>
                    </li>
                                <li><a href="/article/87.htm"
                                       title="面向对象面向过程" target="_blank">面向对象面向过程</a>
                                    <span class="text-muted">3213213333332132</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>面向对象:把要完成的一件事,通过对象间的协作实现。 
面向过程:把要完成的一件事,通过循序依次调用各个模块实现。 
我把大象装进冰箱这件事为例,用面向对象和面向过程实现,都是用java代码完成。 
 
1、面向对象 
 

package bigDemo.ObjectOriented;

/**
 * 大象类
 * 
 * @Description
 * @author FuJian</div>
                                </li>
                                <li><a href="/article/214.htm"
                                       title="Java Hotspot: Remove the Permanent Generation" target="_blank">Java Hotspot: Remove the Permanent Generation</a>
                                    <span class="text-muted">bookjovi</span>
<a class="tag" taget="_blank" href="/search/HotSpot/1.htm">HotSpot</a>
                                    <div>  
openjdk上关于hotspot将移除永久带的描述非常详细,http://openjdk.java.net/jeps/122 
  
JEP 122: Remove the Permanent Generation

Author	Jon Masamitsu
Organization	Oracle
Created	2010/8/15
Updated	2011/</div>
                                </li>
                                <li><a href="/article/341.htm"
                                       title="正则表达式向前查找向后查找,环绕或零宽断言" target="_blank">正则表达式向前查找向后查找,环绕或零宽断言</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/1.htm">正则表达式</a>
                                    <div>向前查找和向后查找 
1. 向前查找:根据要匹配的字符序列后面存在一个特定的字符序列(肯定式向前查找)或不存在一个特定的序列(否定式向前查找)来决定是否匹配。.NET将向前查找称之为零宽度向前查找断言。 
    对于向前查找,出现在指定项之后的字符序列不会被正则表达式引擎返回。 
2. 向后查找:一个要匹配的字符序列前面有或者没有指定的</div>
                                </li>
                                <li><a href="/article/468.htm"
                                       title="BaseDao" target="_blank">BaseDao</a>
                                    <span class="text-muted">171815164</span>
<a class="tag" taget="_blank" href="/search/seda/1.htm">seda</a>
                                    <div>

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class BaseDao {

	public Conn</div>
                                </li>
                                <li><a href="/article/595.htm"
                                       title="Ant标签详解--Java命令" target="_blank">Ant标签详解--Java命令</a>
                                    <span class="text-muted">g21121</span>
<a class="tag" taget="_blank" href="/search/Java%E5%91%BD%E4%BB%A4/1.htm">Java命令</a>
                                    <div>        这一篇主要介绍与java相关标签的使用          终于开始重头戏了,Java部分是我们关注的重点也是项目中用处最多的部分。               
1</div>
                                </li>
                                <li><a href="/article/722.htm"
                                       title="[简单]代码片段_电梯数字排列" target="_blank">[简单]代码片段_电梯数字排列</a>
                                    <span class="text-muted">53873039oycg</span>
<a class="tag" taget="_blank" href="/search/%E4%BB%A3%E7%A0%81/1.htm">代码</a>
                                    <div>       今天看电梯数字排列是9 18 26这样呈倒N排列的,写了个类似的打印例子,如下:       
import java.util.Arrays;

public class 电梯数字排列_S3_Test {
	public static void main(S</div>
                                </li>
                                <li><a href="/article/849.htm"
                                       title="Hessian原理" target="_blank">Hessian原理</a>
                                    <span class="text-muted">云端月影</span>
<a class="tag" taget="_blank" href="/search/hessian%E5%8E%9F%E7%90%86/1.htm">hessian原理</a>
                                    <div>Hessian 原理分析 
 
 
 
 
 
一.      远程通讯协议的基本原理 
 
网络通信需要做的就是将流从一台计算机传输到另外一台计算机,基于传输协议和网络 IO 来实现,其中传输协议比较出名的有 http 、 tcp 、 udp 等等, http 、 tcp 、 udp 都是在基于 Socket 概念上为某类应用场景而扩展出的传输协</div>
                                </li>
                                <li><a href="/article/976.htm"
                                       title="区分Activity的四种加载模式----以及Intent的setFlags" target="_blank">区分Activity的四种加载模式----以及Intent的setFlags</a>
                                    <span class="text-muted">aijuans</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a>
                                    <div>  
在多Activity开发中,有可能是自己应用之间的Activity跳转,或者夹带其他应用的可复用Activity。可能会希望跳转到原来某个Activity实例,而不是产生大量重复的Activity。 
这需要为Activity配置特定的加载模式,而不是使用默认的加载模式。 加载模式分类及在哪里配置 
Activity有四种加载模式: 
 
 standard 
 singleTop</div>
                                </li>
                                <li><a href="/article/1103.htm"
                                       title="hibernate几个核心API及其查询分析" target="_blank">hibernate几个核心API及其查询分析</a>
                                    <span class="text-muted">antonyup_2006</span>
<a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/.net/1.htm">.net</a><a class="tag" taget="_blank" href="/search/Hibernate/1.htm">Hibernate</a><a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a><a class="tag" taget="_blank" href="/search/%E9%85%8D%E7%BD%AE%E7%AE%A1%E7%90%86/1.htm">配置管理</a>
                                    <div>(一)  org.hibernate.cfg.Configuration类 
        读取配置文件并创建唯一的SessionFactory对象.(一般,程序初始化hibernate时创建.) 
        Configuration co</div>
                                </li>
                                <li><a href="/article/1230.htm"
                                       title="PL/SQL的流程控制" target="_blank">PL/SQL的流程控制</a>
                                    <span class="text-muted">百合不是茶</span>
<a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/PL%2FSQL%E7%BC%96%E7%A8%8B/1.htm">PL/SQL编程</a><a class="tag" taget="_blank" href="/search/%E5%BE%AA%E7%8E%AF%E6%8E%A7%E5%88%B6/1.htm">循环控制</a>
                                    <div>PL/SQL也是一门高级语言,所以流程控制是必须要有的,oracle数据库的pl/sql比sqlserver数据库要难,很多pl/sql中有的sqlserver里面没有 
  
流程控制; 
   分支语句 if 条件 then 结果 else 结果  end if ;

  条件语句 case    when   条件  then  结果;

   循环语句  loop    </div>
                                </li>
                                <li><a href="/article/1357.htm"
                                       title="强大的Mockito测试框架" target="_blank">强大的Mockito测试框架</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/mockito/1.htm">mockito</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95/1.htm">单元测试</a>
                                    <div>一.自动生成Mock类        在需要Mock的属性上标记@Mock注解,然后@RunWith中配置Mockito的TestRunner或者在setUp()方法中显示调用MockitoAnnotations.initMocks(this);生成Mock类即可。二.自动注入Mock类到被测试类  &nbs</div>
                                </li>
                                <li><a href="/article/1484.htm"
                                       title="精通Oracle10编程SQL(11)开发子程序" target="_blank">精通Oracle10编程SQL(11)开发子程序</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/plsql/1.htm">plsql</a>
                                    <div>/*
 *开发子程序
 */
--子程序目是指被命名的PL/SQL块,这种块可以带有参数,可以在不同应用程序中多次调用
--PL/SQL有两种类型的子程序:过程和函数
--开发过程
--建立过程:不带任何参数
CREATE OR REPLACE PROCEDURE out_time
IS
BEGIN
 DBMS_OUTPUT.put_line(systimestamp);
E</div>
                                </li>
                                <li><a href="/article/1611.htm"
                                       title="【EhCache一】EhCache版Hello World" target="_blank">【EhCache一】EhCache版Hello World</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/Hello+world/1.htm">Hello world</a>
                                    <div>本篇是EhCache系列的第一篇,总体介绍使用EhCache缓存进行CRUD的API的基本使用,更细节的内容包括EhCache源代码和设计、实现原理在接下来的文章中进行介绍 
  环境准备 
1.新建Maven项目 
  
2.添加EhCache的Maven依赖 
        <dependency>
            <groupId>ne</div>
                                </li>
                                <li><a href="/article/1738.htm"
                                       title="学习EJB3基础知识笔记" target="_blank">学习EJB3基础知识笔记</a>
                                    <span class="text-muted">白糖_</span>
<a class="tag" taget="_blank" href="/search/bean/1.htm">bean</a><a class="tag" taget="_blank" href="/search/Hibernate/1.htm">Hibernate</a><a class="tag" taget="_blank" href="/search/jboss/1.htm">jboss</a><a class="tag" taget="_blank" href="/search/webservice/1.htm">webservice</a><a class="tag" taget="_blank" href="/search/ejb/1.htm">ejb</a>
                                    <div>最近项目进入系统测试阶段,全赖袁大虾领导有力,保持一周零bug记录,这也让自己腾出不少时间补充知识。花了两天时间把“传智播客EJB3.0”看完了,EJB基本的知识也有些了解,在这记录下EJB的部分知识,以供自己以后复习使用。 
  
EJB是sun的服务器端组件模型,最大的用处是部署分布式应用程序。EJB (Enterprise JavaBean)是J2EE的一部分,定义了一个用于开发基</div>
                                </li>
                                <li><a href="/article/1865.htm"
                                       title="angular.bootstrap" target="_blank">angular.bootstrap</a>
                                    <span class="text-muted">boyitech</span>
<a class="tag" taget="_blank" href="/search/AngularJS/1.htm">AngularJS</a><a class="tag" taget="_blank" href="/search/AngularJS+API/1.htm">AngularJS API</a><a class="tag" taget="_blank" href="/search/angular%E4%B8%AD%E6%96%87api/1.htm">angular中文api</a>
                                    <div>angular.bootstrap 
描述:  
    手动初始化angular。 
    这个函数会自动检测创建的module有没有被加载多次,如果有则会在浏览器的控制台打出警告日志,并且不会再次加载。这样可以避免在程序运行过程中许多奇怪的问题发生。 
    使用方法:       angular .</div>
                                </li>
                                <li><a href="/article/1992.htm"
                                       title="java-谷歌面试题-给定一个固定长度的数组,将递增整数序列写入这个数组。当写到数组尾部时,返回数组开始重新写,并覆盖先前写过的数" target="_blank">java-谷歌面试题-给定一个固定长度的数组,将递增整数序列写入这个数组。当写到数组尾部时,返回数组开始重新写,并覆盖先前写过的数</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>

public class SearchInShiftedArray {

	/**
	 * 题目:给定一个固定长度的数组,将递增整数序列写入这个数组。当写到数组尾部时,返回数组开始重新写,并覆盖先前写过的数。
	 * 请在这个特殊数组中找出给定的整数。
	 * 解答:
	 * 其实就是“旋转数组”。旋转数组的最小元素见http://bylijinnan.iteye.com/bl</div>
                                </li>
                                <li><a href="/article/2119.htm"
                                       title="天使还是魔鬼?都是我们制造" target="_blank">天使还是魔鬼?都是我们制造</a>
                                    <span class="text-muted">ducklsl</span>
<a class="tag" taget="_blank" href="/search/%E7%94%9F%E6%B4%BB/1.htm">生活</a><a class="tag" taget="_blank" href="/search/%E6%95%99%E8%82%B2/1.htm">教育</a><a class="tag" taget="_blank" href="/search/%E6%83%85%E6%84%9F/1.htm">情感</a>
                                    <div>----------------------------剧透请原谅,有兴趣的朋友可以自己看看电影,互相讨论哦!!! 
    从厦门回来的动车上,无意中瞟到了书中推荐的几部关于儿童的电影。当然,这几部电影可能会另大家失望,并不是类似小鬼当家的电影,而是关于“坏小孩”的电影! 
    自己挑了两部先看了看,但是发现看完之后,心里久久不能平</div>
                                </li>
                                <li><a href="/article/2246.htm"
                                       title="[机器智能与生物]研究生物智能的问题" target="_blank">[机器智能与生物]研究生物智能的问题</a>
                                    <span class="text-muted">comsci</span>
<a class="tag" taget="_blank" href="/search/%E7%94%9F%E7%89%A9/1.htm">生物</a>
                                    <div> 
 
      我想,人的神经网络和苍蝇的神经网络,并没有本质的区别...就是大规模拓扑系统和中小规模拓扑分析的区别.... 
 
 
      但是,如果去研究活体人类的神经网络和脑系统,可能会受到一些法律和道德方面的限制,而且研究结果也不一定可靠,那么希望从事生物神经网络研究的朋友,不如把</div>
                                </li>
                                <li><a href="/article/2373.htm"
                                       title="获取Android Device的信息" target="_blank">获取Android Device的信息</a>
                                    <span class="text-muted">dai_lm</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a>
                                    <div>
String phoneInfo = "PRODUCT: " + android.os.Build.PRODUCT;
phoneInfo += ", CPU_ABI: " + android.os.Build.CPU_ABI;
phoneInfo += ", TAGS: " + android.os.Build.TAGS;
ph</div>
                                </li>
                                <li><a href="/article/2500.htm"
                                       title="最佳字符串匹配算法(Damerau-Levenshtein距离算法)的Java实现" target="_blank">最佳字符串匹配算法(Damerau-Levenshtein距离算法)的Java实现</a>
                                    <span class="text-muted">datamachine</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E5%AD%97%E7%AC%A6%E4%B8%B2%E5%8C%B9%E9%85%8D/1.htm">字符串匹配</a>
                                    <div>原文:http://www.javacodegeeks.com/2013/11/java-implementation-of-optimal-string-alignment.html------------------------------------------------------------------------------------------------------------</div>
                                </li>
                                <li><a href="/article/2627.htm"
                                       title="小学5年级英语单词背诵第一课" target="_blank">小学5年级英语单词背诵第一课</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/english/1.htm">english</a><a class="tag" taget="_blank" href="/search/word/1.htm">word</a>
                                    <div>long 长的 
show 给...看,出示 
mouth 口,嘴 
write 写 
  
use 用,使用 
take 拿,带来 
hand 手 
clever 聪明的 
  
often 经常 
wash 洗 
slow 慢的 
house 房子 
  
water 水 
clean 清洁的 
supper 晚餐 
out 在外 
  
face 脸,</div>
                                </li>
                                <li><a href="/article/2754.htm"
                                       title="macvim的使用实战" target="_blank">macvim的使用实战</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/mac/1.htm">mac</a><a class="tag" taget="_blank" href="/search/vim/1.htm">vim</a>
                                    <div>macvim用的是mac里面的vim, 只不过是一个GUI的APP, 相当于一个壳 
  
1. 下载macvim 
https://code.google.com/p/macvim/ 
  
2. 了解macvim 
:h               vim的使用帮助信息 
:h macvim  </div>
                                </li>
                                <li><a href="/article/2881.htm"
                                       title="java二分法查找" target="_blank">java二分法查找</a>
                                    <span class="text-muted">蕃薯耀</span>
<a class="tag" taget="_blank" href="/search/java%E4%BA%8C%E5%88%86%E6%B3%95%E6%9F%A5%E6%89%BE/1.htm">java二分法查找</a><a class="tag" taget="_blank" href="/search/%E4%BA%8C%E5%88%86%E6%B3%95/1.htm">二分法</a><a class="tag" taget="_blank" href="/search/java%E4%BA%8C%E5%88%86%E6%B3%95/1.htm">java二分法</a>
                                    <div>java二分法查找 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
蕃薯耀 2015年6月23日 11:40:03 星期二 
http:/</div>
                                </li>
                                <li><a href="/article/3008.htm"
                                       title="Spring Cache注解+Memcached" target="_blank">Spring Cache注解+Memcached</a>
                                    <span class="text-muted">hanqunfeng</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/memcached/1.htm">memcached</a>
                                    <div>Spring3.1 Cache注解  
依赖jar包: 
<!-- simple-spring-memcached -->
		<dependency>
			<groupId>com.google.code.simple-spring-memcached</groupId>
			<artifactId>simple-s</div>
                                </li>
                                <li><a href="/article/3135.htm"
                                       title="apache commons io包快速入门" target="_blank">apache commons io包快速入门</a>
                                    <span class="text-muted">jackyrong</span>
<a class="tag" taget="_blank" href="/search/apache+commons/1.htm">apache commons</a>
                                    <div>原文参考 
http://www.javacodegeeks.com/2014/10/apache-commons-io-tutorial.html 
 
  Apache Commons IO 包绝对是好东西,地址在http://commons.apache.org/proper/commons-io/,下面用例子分别介绍: 
  1)  工具类 
  2</div>
                                </li>
                                <li><a href="/article/3262.htm"
                                       title="如何学习编程" target="_blank">如何学习编程</a>
                                    <span class="text-muted">lampcy</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a><a class="tag" taget="_blank" href="/search/C%2B%2B/1.htm">C++</a><a class="tag" taget="_blank" href="/search/c/1.htm">c</a>
                                    <div>首先,我想说一下学习思想.学编程其实跟网络游戏有着类似的效果.开始的时候,你会对那些代码,函数等产生很大的兴趣,尤其是刚接触编程的人,刚学习第一种语言的人.可是,当你一步步深入的时候,你会发现你没有了以前那种斗志.就好象你在玩韩国泡菜网游似的,玩到一定程度,每天就是练级练级,完全是一个想冲到高级别的意志力在支持着你.而学编程就更难了,学了两个月后,总是觉得你好象全都学会了,却又什么都做不了,又没有</div>
                                </li>
                                <li><a href="/article/3389.htm"
                                       title="架构师之spring-----spring3.0新特性的bean加载控制@DependsOn和@Lazy" target="_blank">架构师之spring-----spring3.0新特性的bean加载控制@DependsOn和@Lazy</a>
                                    <span class="text-muted">nannan408</span>
<a class="tag" taget="_blank" href="/search/Spring3/1.htm">Spring3</a>
                                    <div>1.前言。 
   如题。 
2.描述。 
   


@DependsOn用于强制初始化其他Bean。可以修饰Bean类或方法,使用该Annotation时可以指定一个字符串数组作为参数,每个数组元素对应于一个强制初始化的Bean。

@DependsOn({"steelAxe","abc"})
@Comp</div>
                                </li>
                                <li><a href="/article/3516.htm"
                                       title="Spring4+quartz2的配置和代码方式调度" target="_blank">Spring4+quartz2的配置和代码方式调度</a>
                                    <span class="text-muted">Everyday都不同</span>
<a class="tag" taget="_blank" href="/search/%E4%BB%A3%E7%A0%81/1.htm">代码</a><a class="tag" taget="_blank" href="/search/%E9%85%8D%E7%BD%AE/1.htm">配置</a><a class="tag" taget="_blank" href="/search/spring4/1.htm">spring4</a><a class="tag" taget="_blank" href="/search/quartz2.x/1.htm">quartz2.x</a><a class="tag" taget="_blank" href="/search/%E5%AE%9A%E6%97%B6%E4%BB%BB%E5%8A%A1/1.htm">定时任务</a>
                                    <div>前言:这些天简直被quartz虐哭。。因为quartz 2.x版本相比quartz1.x版本的API改动太多,所以,只好自己去查阅底层API…… 
  
quartz定时任务必须搞清楚几个概念: 
JobDetail——处理类 
Trigger——触发器,指定触发时间,必须要有JobDetail属性,即触发对象 
Scheduler——调度器,组织处理类和触发器,配置方式一般只需指定触发</div>
                                </li>
                                <li><a href="/article/3643.htm"
                                       title="Hibernate入门" target="_blank">Hibernate入门</a>
                                    <span class="text-muted">tntxia</span>
<a class="tag" taget="_blank" href="/search/Hibernate/1.htm">Hibernate</a>
                                    <div>  
前言 
  
使用面向对象的语言和关系型的数据库,开发起来很繁琐,费时。由于现在流行的数据库都不面向对象。Hibernate 是一个Java的ORM(Object/Relational Mapping)解决方案。 
  
Hibernte不仅关心把Java对象对应到数据库的表中,而且提供了请求和检索的方法。简化了手工进行JDBC操作的流程。 
  
如</div>
                                </li>
                                <li><a href="/article/3770.htm"
                                       title="Math类" target="_blank">Math类</a>
                                    <span class="text-muted">xiaoxing598</span>
<a class="tag" taget="_blank" href="/search/Math/1.htm">Math</a>
                                    <div>一、Java中的数字(Math)类是final类,不可继承。 
1、常数    PI:double圆周率 E:double自然对数    
2、截取(注意方法的返回类型)    double ceil(double d) 返回不小于d的最小整数 double floor(double d) 返回不大于d的整最大数   int round(float f) 返回四舍五入后的整数 long round</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>