<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>目录介绍 &#8211; 个人随笔</title>
	<atom:link href="/label/%E7%9B%AE%E5%BD%95%E4%BB%8B%E7%BB%8D/feed" rel="self" type="application/rss+xml" />
	<link>/</link>
	<description></description>
	<lastBuildDate>Sat, 09 Jun 2018 01:11:30 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.6.1</generator>

<image>
	<url>/wp-content/uploads/2022/01/cropped-截屏2022-01-01-18.57.09-32x32.png</url>
	<title>目录介绍 &#8211; 个人随笔</title>
	<link>/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>yii2 框架 安装、目录介绍、路由、模型、视图、控制器、留言板案例</title>
		<link>/%e5%90%8e%e5%8f%b0%e6%a1%86%e6%9e%b6/6297.html</link>
					<comments>/%e5%90%8e%e5%8f%b0%e6%a1%86%e6%9e%b6/6297.html#respond</comments>
		
		<dc:creator><![CDATA[Mr.Lee]]></dc:creator>
		<pubDate>Sat, 19 May 2018 17:28:10 +0000</pubDate>
				<category><![CDATA[Yii]]></category>
		<category><![CDATA[后台框架]]></category>
		<category><![CDATA[安装]]></category>
		<category><![CDATA[控制器]]></category>
		<category><![CDATA[模型]]></category>
		<category><![CDATA[留言板案例]]></category>
		<category><![CDATA[目录介绍]]></category>
		<category><![CDATA[视图]]></category>
		<category><![CDATA[路由]]></category>
		<guid isPermaLink="false">/?p=6297</guid>

					<description><![CDATA[Yii2框架 一、Yii2框架 1、什么是Yii2易框架 就是用PHP语言开发的框架 PHP框架区别和常见问题 [&#8230;]]]></description>
										<content:encoded><![CDATA[<h1><a id="post-6297-_Toc487903166"></a>Yii2框架</h1>
<h1><a id="post-6297-_Toc487990951"></a>一、Yii2框架</h1>
<h2>1、什么是Yii2易框架</h2>
<p>
  就是用PHP语言开发的框架
</p>
<h2>PHP框架区别和常见问题</h2>
<h3>1）常用PHP框架</h3>
<p><img decoding="async" width="151" height="51" src="/wp-content/uploads/2018/05/word-image-5740.png" class="wp-image-6298" srcset="/wp-content/uploads/2018/05/word-image-5740.png 151w, /wp-content/uploads/2018/05/word-image-5740-150x51.png 150w" sizes="(max-width: 151px) 100vw, 151px" /><br />
<img decoding="async" width="290" height="70" src="/wp-content/uploads/2018/05/word-image-5741.png" class="wp-image-6299" /><br />
<img decoding="async" width="307" height="77" src="/wp-content/uploads/2018/05/word-image-5742.png" class="wp-image-6300" srcset="/wp-content/uploads/2018/05/word-image-5742.png 307w, /wp-content/uploads/2018/05/word-image-5742-300x75.png 300w" sizes="(max-width: 307px) 100vw, 307px" /><br />
<img loading="lazy" decoding="async" width="253" height="53" src="/wp-content/uploads/2018/05/word-image-5743.png" class="wp-image-6301" /><br />
<img loading="lazy" decoding="async" width="286" height="97" src="/wp-content/uploads/2018/05/word-image-5744.png" class="wp-image-6302" /></p>
<p>
  C语言开发
</p>
<p><img loading="lazy" decoding="async" width="187" height="60" src="/wp-content/uploads/2018/05/word-image-5745.png" class="wp-image-6303" /><br />
<img loading="lazy" decoding="async" width="101" height="66" src="/wp-content/uploads/2018/05/word-image-5746.png" class="wp-image-6304" /></p>
<h3>2）常见问题</h3>
<p>
  问：你觉得XXX框架是轻量级还是重量级？
</p>
<p>
  答：框架帮你做的事越多，框架越重。（其次：设计是否复杂？ 运行速度？ 更接近原生？）
</p>
<p>
  问：一般设计框架的时候都需要权衡？
</p>
<p>
  答：开发效率和运行效率（yaf、Phalcon）。
</p>
<h1>下载并安装</h1>
<h2>︴网址</h2>
<p>
  官网：<a href="/goto/w8q1" rel="nofollow">http://www.yiiframework.com/</a>
</p>
<p>
  中文：<a href="/goto/g3cr" rel="nofollow">http://www.yiichina.com/</a>
</p>
<h2>︴下载</h2>
<p><img loading="lazy" decoding="async" width="516" height="342" src="/wp-content/uploads/2018/05/word-image-5747.png" class="wp-image-6305" srcset="/wp-content/uploads/2018/05/word-image-5747.png 516w, /wp-content/uploads/2018/05/word-image-5747-300x199.png 300w" sizes="(max-width: 516px) 100vw, 516px" /><br />
<img loading="lazy" decoding="async" width="241" height="54" src="/wp-content/uploads/2018/05/word-image-5748.png" class="wp-image-6306" /></p>
<h2>︴使用</h2>
<ul>
<li>
    步骤1：解压到指定目录中
  </li>
<li>
    步骤2：初始化，通过命令【php init】
  </li>
</ul>
<p><img loading="lazy" decoding="async" width="684" height="303" src="/wp-content/uploads/2018/05/word-image-5749.png" class="wp-image-6307" srcset="/wp-content/uploads/2018/05/word-image-5749.png 684w, /wp-content/uploads/2018/05/word-image-5749-300x133.png 300w" sizes="(max-width: 684px) 100vw, 684px" /></p>
<ul>
<li>
    步骤3：访问
  </li>
</ul>
<p><img loading="lazy" decoding="async" width="1058" height="594" src="/wp-content/uploads/2018/05/word-image-5750.png" class="wp-image-6308" srcset="/wp-content/uploads/2018/05/word-image-5750.png 1058w, /wp-content/uploads/2018/05/word-image-5750-300x168.png 300w, /wp-content/uploads/2018/05/word-image-5750-768x431.png 768w, /wp-content/uploads/2018/05/word-image-5750-1024x575.png 1024w" sizes="(max-width: 1058px) 100vw, 1058px" /></p>
<h1>三、目录介绍</h1>
<p><img loading="lazy" decoding="async" width="306" height="544" src="/wp-content/uploads/2018/05/word-image-5751.png" class="wp-image-6309" srcset="/wp-content/uploads/2018/05/word-image-5751.png 306w, /wp-content/uploads/2018/05/word-image-5751-169x300.png 169w" sizes="(max-width: 306px) 100vw, 306px" /></p>
<h1>四、控制器</h1>
<p><a href="/goto/7a3e" rel="nofollow">http://l.com/yii2/frontend/web/index.php?r=test/index</a>
</p>
<p><img loading="lazy" decoding="async" width="705" height="559" src="/wp-content/uploads/2018/05/word-image-5752.png" class="wp-image-6310" srcset="/wp-content/uploads/2018/05/word-image-5752.png 705w, /wp-content/uploads/2018/05/word-image-5752-300x238.png 300w" sizes="(max-width: 705px) 100vw, 705px" /></p>
<h1>路由</h1>
<h2>路由访问规则</h2>
<p>
  域名/index.php?r=控制器名/方法名
</p>
<p><img loading="lazy" decoding="async" width="840" height="599" src="/wp-content/uploads/2018/05/word-image-5753.png" class="wp-image-6311" srcset="/wp-content/uploads/2018/05/word-image-5753.png 840w, /wp-content/uploads/2018/05/word-image-5753-300x214.png 300w, /wp-content/uploads/2018/05/word-image-5753-768x548.png 768w" sizes="(max-width: 840px) 100vw, 840px" /></p>
<p>
  &lt;?php
</p>
<p>
  namespace frontend\controllers;
</p>
<p>
  use Yii;
</p>
<p>
  use yii\web\Controller;
</p>
<p>
  /**
</p>
<p>
   * 测试控制器
</p>
<p>
   */
</p>
<p>
  class TestController extends Controller
</p>
<p>
  {
</p>
<p>
      /**
</p>
<p>
       * Displays homepage.
</p>
<p>
       *
</p>
<p>
       * @return mixed
</p>
<p>
       */
</p>
<p>
      public function actionIndex()
</p>
<p>
      {
</p>
<p>
          echo 66666;die;
</p>
<p>
          return $this-&gt;render(&#8216;index&#8217;);
</p>
<p>
      }
</p>
<p>
      public function actionAdd()
</p>
<p>
      {
</p>
<p>
          echo 7777777777;die;
</p>
<p>
      }
</p>
<p>
  }
</p>
<p>
  脚下留心：方法前缀必须是action开头
</p>
<h2>美化路由（自定义路由）</h2>
<p><img loading="lazy" decoding="async" width="834" height="390" src="/wp-content/uploads/2018/05/word-image-5754.png" class="wp-image-6312" srcset="/wp-content/uploads/2018/05/word-image-5754.png 834w, /wp-content/uploads/2018/05/word-image-5754-300x140.png 300w, /wp-content/uploads/2018/05/word-image-5754-768x359.png 768w" sizes="(max-width: 834px) 100vw, 834px" /><br />
<img loading="lazy" decoding="async" width="981" height="662" src="/wp-content/uploads/2018/05/word-image-5755.png" class="wp-image-6313" srcset="/wp-content/uploads/2018/05/word-image-5755.png 981w, /wp-content/uploads/2018/05/word-image-5755-300x202.png 300w, /wp-content/uploads/2018/05/word-image-5755-768x518.png 768w" sizes="(max-width: 981px) 100vw, 981px" /></p>
<h1>六、视图</h1>
<h2>1、语法</h2>
<p>
  加载视图并传递数据（数组中的键后期在视图中直接当变量使用）
</p>
<p>
  return $this-&gt;render(&#8216;index&#8217;, [
</p>
<p>
      &#8216;test1&#8217; =&gt; 111,
</p>
<p>
      &#8216;test2&#8217; =&gt; &#8216;dsfsdfa&#8217;,
</p>
<p>
      &#8216;test3&#8217; =&gt; array(&#8216;name&#8217;, 666, &#8216;aaa&#8217;)
</p>
<p>
  ]);
</p>
<p>
  模板显示数据通过&lt;?= $变量名 ?&gt; （注：&lt;?=   相当于  &lt;?php echo ）
</p>
<h2>2、练习</h2>
<p><img loading="lazy" decoding="async" width="961" height="627" src="/wp-content/uploads/2018/05/word-image-5756.png" class="wp-image-6314" srcset="/wp-content/uploads/2018/05/word-image-5756.png 961w, /wp-content/uploads/2018/05/word-image-5756-300x196.png 300w, /wp-content/uploads/2018/05/word-image-5756-768x501.png 768w" sizes="(max-width: 961px) 100vw, 961px" /><br />
<img loading="lazy" decoding="async" width="783" height="575" src="/wp-content/uploads/2018/05/word-image-5757.png" class="wp-image-6315" srcset="/wp-content/uploads/2018/05/word-image-5757.png 783w, /wp-content/uploads/2018/05/word-image-5757-300x220.png 300w, /wp-content/uploads/2018/05/word-image-5757-768x564.png 768w" sizes="(max-width: 783px) 100vw, 783px" /></p>
<h1>七、模型</h1>
<h2>1、准备</h2>
<ul>
<li>
    模型使用手册：<a href="/goto/cbx3" rel="nofollow">http://blog.csdn.net/ww_smile7/article/details/53410166</a>
  </li>
<li>
    设置数据库配置文件
  </li>
</ul>
<p><img loading="lazy" decoding="async" width="1106" height="496" src="/wp-content/uploads/2018/05/word-image-5758.png" class="wp-image-6316" srcset="/wp-content/uploads/2018/05/word-image-5758.png 1106w, /wp-content/uploads/2018/05/word-image-5758-300x135.png 300w, /wp-content/uploads/2018/05/word-image-5758-768x344.png 768w, /wp-content/uploads/2018/05/word-image-5758-1024x459.png 1024w" sizes="(max-width: 1106px) 100vw, 1106px" /></p>
<ul>
<li>
    定义模型
  </li>
</ul>
<p><img loading="lazy" decoding="async" width="809" height="419" src="/wp-content/uploads/2018/05/word-image-5759.png" class="wp-image-6317" srcset="/wp-content/uploads/2018/05/word-image-5759.png 809w, /wp-content/uploads/2018/05/word-image-5759-300x155.png 300w, /wp-content/uploads/2018/05/word-image-5759-768x398.png 768w" sizes="(max-width: 809px) 100vw, 809px" /></p>
<p>
  &lt;?php
</p>
<p>
  namespace common\models;
</p>
<p>
  use Yii;
</p>
<p>
  use yii\db\ActiveRecord;
</p>
<p>
  /**
</p>
<p>
   * Login form
</p>
<p>
   */
</p>
<p>
  class Php12 extends ActiveRecord
</p>
<p>
  {
</p>
</p>
<p>
  }
</p>
<h2>2、练习</h2>
<p>
  查询所有
</p>
<p><img loading="lazy" decoding="async" width="1069" height="666" src="/wp-content/uploads/2018/05/word-image-5760.png" class="wp-image-6318" srcset="/wp-content/uploads/2018/05/word-image-5760.png 1069w, /wp-content/uploads/2018/05/word-image-5760-300x187.png 300w, /wp-content/uploads/2018/05/word-image-5760-768x478.png 768w, /wp-content/uploads/2018/05/word-image-5760-1024x638.png 1024w" sizes="(max-width: 1069px) 100vw, 1069px" /></p>
<p>
  查询一条
</p>
<p><img loading="lazy" decoding="async" width="954" height="521" src="/wp-content/uploads/2018/05/word-image-5761.png" class="wp-image-6319" srcset="/wp-content/uploads/2018/05/word-image-5761.png 954w, /wp-content/uploads/2018/05/word-image-5761-300x164.png 300w, /wp-content/uploads/2018/05/word-image-5761-768x419.png 768w" sizes="(max-width: 954px) 100vw, 954px" /><br />
<img loading="lazy" decoding="async" width="1131" height="514" src="/wp-content/uploads/2018/05/word-image-5762.png" class="wp-image-6320" srcset="/wp-content/uploads/2018/05/word-image-5762.png 1131w, /wp-content/uploads/2018/05/word-image-5762-300x136.png 300w, /wp-content/uploads/2018/05/word-image-5762-768x349.png 768w, /wp-content/uploads/2018/05/word-image-5762-1024x465.png 1024w" sizes="(max-width: 1131px) 100vw, 1131px" /></p>
<p>
  插入
</p>
<p><img loading="lazy" decoding="async" width="1316" height="542" src="/wp-content/uploads/2018/05/word-image-5763.png" class="wp-image-6321" srcset="/wp-content/uploads/2018/05/word-image-5763.png 1316w, /wp-content/uploads/2018/05/word-image-5763-300x124.png 300w, /wp-content/uploads/2018/05/word-image-5763-768x316.png 768w, /wp-content/uploads/2018/05/word-image-5763-1024x422.png 1024w" sizes="(max-width: 1316px) 100vw, 1316px" /></p>
<h1>八、留言板案例</h1>
<h2>︴效果</h2>
<p><img loading="lazy" decoding="async" width="397" height="436" src="/wp-content/uploads/2018/05/word-image-5764.png" class="wp-image-6322" srcset="/wp-content/uploads/2018/05/word-image-5764.png 397w, /wp-content/uploads/2018/05/word-image-5764-273x300.png 273w" sizes="(max-width: 397px) 100vw, 397px" /><br />
<img loading="lazy" decoding="async" width="386" height="315" src="/wp-content/uploads/2018/05/word-image-5765.png" class="wp-image-6323" srcset="/wp-content/uploads/2018/05/word-image-5765.png 386w, /wp-content/uploads/2018/05/word-image-5765-300x245.png 300w" sizes="(max-width: 386px) 100vw, 386px" /></p>
<h2>︴代码</h2>
<h3>准备</h3>
<ul>
<li>
    创建表
  </li>
</ul>
<p>
  create table msg (
</p>
<p>
  id int primary key auto_increment comment &#8216;编号&#8217;,
</p>
<p>
  title varchar(60) not null comment &#8216;标题&#8217;,
</p>
<p>
  `desc` text comment &#8216;描述&#8217;,
</p>
<p>
  created_at int default 0 comment &#8216;创建于&#8217;,
</p>
<p>
  updated_at int default 0 comment &#8216;更新于&#8217;
</p>
<p>
  )engine=myisam charset=utf8;
</p>
<ul>
<li>
    创建模型
  </li>
</ul>
<p><img loading="lazy" decoding="async" width="606" height="340" src="/wp-content/uploads/2018/05/word-image-5766.png" class="wp-image-6324" srcset="/wp-content/uploads/2018/05/word-image-5766.png 606w, /wp-content/uploads/2018/05/word-image-5766-300x168.png 300w" sizes="(max-width: 606px) 100vw, 606px" /></p>
<p>
  &lt;?php
</p>
<p>
  namespace common\models;
</p>
<p>
  use Yii;
</p>
<p>
  use yii\db\ActiveRecord;
</p>
<p>
  /**
</p>
<p>
   * Login form
</p>
<p>
   */
</p>
<p>
  class Msg extends ActiveRecord
</p>
<p>
  {
</p>
</p>
<p>
  }
</p>
<h3>列表功能</h3>
<ul>
<li>
    步骤1：定义路由
  </li>
</ul>
<p><img loading="lazy" decoding="async" width="904" height="489" src="/wp-content/uploads/2018/05/word-image-5767.png" class="wp-image-6325" srcset="/wp-content/uploads/2018/05/word-image-5767.png 904w, /wp-content/uploads/2018/05/word-image-5767-300x162.png 300w, /wp-content/uploads/2018/05/word-image-5767-768x415.png 768w" sizes="(max-width: 904px) 100vw, 904px" /></p>
<ul>
<li>
    步骤2：创建控制器方法、查询所有留言数据并传递给视图
  </li>
</ul>
<p><img loading="lazy" decoding="async" width="762" height="715" src="/wp-content/uploads/2018/05/word-image-5768.png" class="wp-image-6326" srcset="/wp-content/uploads/2018/05/word-image-5768.png 762w, /wp-content/uploads/2018/05/word-image-5768-300x281.png 300w" sizes="(max-width: 762px) 100vw, 762px" /></p>
<p>
  &lt;?php
</p>
<p>
  namespace frontend\controllers;
</p>
<p>
  use Yii;
</p>
<p>
  use common\models\Msg;
</p>
<p>
  use yii\web\Controller;
</p>
<p>
  /**
</p>
<p>
   * 测试控制器
</p>
<p>
   */
</p>
<p>
  class MsgController extends Controller
</p>
<p>
  {
</p>
<p>
      //说明laravel框架有layout模板机制
</p>
<p>
      //声明属性决定layout是否使用
</p>
<p>
      //当前控制器都生效
</p>
<p>
      public $layout = false;
</p>
<p>
      public function actionIndex()
</p>
<p>
      {
</p>
<p>
          //1.查询数据通过模型
</p>
<p>
          $msgs = Msg::find()-&gt;all();
</p>
<p>
          //2.加载视图并传递数据
</p>
<p>
          return $this-&gt;render(&#8216;index&#8217;, [
</p>
<p>
              &#8216;msgs&#8217; =&gt; $msgs
</p>
<p>
          ]);
</p>
<p>
      }
</p>
<p>
  }
</p>
<ul>
<li>
    步骤3：创建视图
  </li>
</ul>
<p><img loading="lazy" decoding="async" width="1180" height="697" src="/wp-content/uploads/2018/05/word-image-5769.png" class="wp-image-6328" srcset="/wp-content/uploads/2018/05/word-image-5769.png 1180w, /wp-content/uploads/2018/05/word-image-5769-300x177.png 300w, /wp-content/uploads/2018/05/word-image-5769-768x454.png 768w, /wp-content/uploads/2018/05/word-image-5769-1024x605.png 1024w" sizes="(max-width: 1180px) 100vw, 1180px" /></p>
<ul>
<li>
    步骤4：循环显示数据
  </li>
</ul>
<p><img loading="lazy" decoding="async" width="1098" height="496" src="/wp-content/uploads/2018/05/word-image-5770.png" class="wp-image-6329" srcset="/wp-content/uploads/2018/05/word-image-5770.png 1098w, /wp-content/uploads/2018/05/word-image-5770-300x136.png 300w, /wp-content/uploads/2018/05/word-image-5770-768x347.png 768w, /wp-content/uploads/2018/05/word-image-5770-1024x463.png 1024w" sizes="(max-width: 1098px) 100vw, 1098px" /></p>
<p>
  &lt;!DOCTYPE html&gt;
</p>
<p>
  &lt;html&gt;
</p>
<p>
  &lt;head&gt;
</p>
<p>
  	&lt;meta charset=&#8221;utf-8&#8243;&gt;
</p>
<p>
      &lt;meta http-equiv=&#8221;Content-Type&#8221; content=&#8221;text/html; charset=utf-8&#8243; /&gt;
</p>
<p>
  	&lt;meta content=&#8221;telephone=no, address=no&#8221; name=&#8221;format-detection&#8221;&gt;
</p>
<p>
  	&lt;meta content=&#8221;width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no&#8221; name=&#8221;viewport&#8221;&gt;
</p>
<p>
      &lt;title&gt;微留言演示案例&lt;/title&gt;
</p>
<p>
      &lt;link rel=&#8221;stylesheet&#8221; type=&#8221;text/css&#8221; href=&#8221;./message/msg.css&#8221; media=&#8221;all&#8221; /&gt;
</p>
<p>
  &lt;/head&gt;
</p>
<p>
  &lt;body id=&#8221;message&#8221; onselectstart=&#8221;return true;&#8221; ondragstart=&#8221;return false;&#8221;&gt;
</p>
<p>
  	&lt;div class=&#8221;container&#8221;&gt;
</p>
<p>
  	  	&lt;div class=&#8221;qiandaobanner&#8221;&gt;
</p>
<p>
  		  	&lt;a href=&#8221;./message&#8221;&gt;
</p>
<p>
  		  		&lt;img src=&#8221;./message/wall.jpg&#8221; style=&#8221;width:100%;&#8221; /&gt;
</p>
<p>
  		  	&lt;/a&gt;
</p>
<p>
  	  	&lt;/div&gt;
</p>
<p>
  		&lt;div class=&#8221;cardexplain&#8221;&gt;
</p>
<p>
  			&lt;div class=&#8221;window&#8221; id=&#8221;windowcenter&#8221;&gt;
</p>
<p>
  				&lt;div id=&#8221;title&#8221; class=&#8221;wtitle&#8221;&gt;操作提示&lt;span class=&#8221;close&#8221; id=&#8221;alertclose&#8221;&gt;&lt;/span&gt;&lt;/div&gt;
</p>
<p>
  				&lt;div class=&#8221;content&#8221;&gt;
</p>
<p>
  					&lt;div id=&#8221;txt&#8221;&gt;&lt;/div&gt;
</p>
<p>
  				&lt;/div&gt;
</p>
<p>
  			&lt;/div&gt;
</p>
<p>
    			&lt;div class=&#8221;history&#8221;&gt;
</p>
<p>
  				&lt;div class=&#8221;history-date&#8221;&gt;
</p>
<p>
  					&lt;ul&gt;
</p>
<p>
  						&lt;?php foreach ($msgs as $msg) :  ?&gt;
</p>
<p>
  						&lt;li class=&#8221;green bounceInDown&#8221;&gt;
</p>
<p>
  							&lt;h3&gt;
</p>
<p>
  								&lt;img src=&#8221;./message/logo100x100.jpg&#8221;&gt;
</p>
<p>
  								&lt;?= $msg-&gt;title ?&gt;
</p>
<p>
  								&lt;span&gt;&lt;?= date(&#8216;Y-m-d&#8217;, $msg-&gt;created_at) ?&gt;&lt;/span&gt;
</p>
<p>
  								&lt;div class=&#8221;clr&#8221;&gt;&lt;/div&gt;
</p>
<p>
  							&lt;/h3&gt;
</p>
<p>
  							&lt;dl&gt;
</p>
<p>
  								&lt;dt class=&#8221;hfinfo&#8221;&gt;&lt;?= $msg-&gt;desc ?&gt;&lt;/dt&gt;
</p>
<p>
  							&lt;/dl&gt;
</p>
<p>
  						&lt;/li&gt;
</p>
<p>
  						&lt;?php  endforeach; ?&gt;
</p>
<p>
  						&lt;li class=&#8221;green bounceInDown nob ly2&#8243; style=&#8221;display:none;&#8221;&gt;
</p>
<p>
  							&lt;form action=&#8221;&#8221; method=&#8221;post&#8221; class=&#8221;form1&#8243;&gt;
</p>
<p>
  							&lt;dl&gt;
</p>
<p>
  								&lt;dt&gt;
</p>
<p>
  									&lt;input name=&#8221;uname&#8221; type=&#8221;text&#8221; class=&#8221;px&#8221; id=&#8221;uname&#8221; value=&#8221;&#8221; placeholder=&#8221;请输入您的昵称&#8221;&gt;
</p>
<p>
  									&lt;/dt&gt;
</p>
<p>
  								&lt;dt&gt;
</p>
<p>
  									&lt;textarea name=&#8221;content&#8221; class=&#8221;pxtextarea&#8221; style=&#8221; height:60px;&#8221; id=&#8221;content&#8221; placeholder=&#8221;请输入留言内容&#8221;&gt;&lt;/textarea&gt;
</p>
<p>
  								&lt;/dt&gt;
</p>
<p>
  								&lt;dt&gt;
</p>
<p>
  									&lt;a class=&#8221;submit&#8221; href=&#8221;javascript:void(0);&#8221;&gt;提交留言&lt;/a&gt;
</p>
<p>
  								&lt;/dt&gt;
</p>
<p>
  							&lt;/dl&gt;
</p>
<p>
  							&lt;/form&gt;
</p>
<p>
  						&lt;/li&gt;
</p>
<p>
  						&lt;a&gt;&lt;h2 class=&#8221;first first2&#8243; style=&#8221;position: relative;&#8221;&gt;点击留言&lt;/h2&gt;&lt;/a&gt;
</p>
<p>
  					&lt;/ul&gt;
</p>
<p>
  				&lt;/div&gt;
</p>
<p>
  			&lt;/div&gt;
</p>
<p>
  		&lt;/div&gt;
</p>
<p>
  	&lt;/div&gt;
</p>
<p>
  	&lt;script type=&#8221;text/javascript&#8221; src=&#8221;./message/jquery.js&#8221;&gt;&lt;/script&gt;
</p>
<p>
  	&lt;script type=&#8221;text/javascript&#8221;&gt;
</p>
<p>
  		$(function(){
</p>
<p>
  			//留言表单显示切换
</p>
<p>
  			$(&#8220;.first1&#8221;).click(function(){
</p>
<p>
  				$(&#8220;.ly1&#8221;).slideToggle();
</p>
<p>
  			});
</p>
<p>
  			$(&#8220;.first2&#8221;).click(function(){
</p>
<p>
  				$(&#8220;.ly2&#8221;).slideToggle();
</p>
<p>
  			});
</p>
<p>
  			//点击提交留言a标签，则提交表单
</p>
<p>
  			$(&#8216;.submit&#8217;).click(function(){
</p>
<p>
  				//判断用户名和密码不能为空
</p>
<p>
  				var uname = $(&#8216;#uname&#8217;).val();
</p>
<p>
  				var content = $(&#8216;#content&#8217;).val();
</p>
<p>
  				if (uname == &#8221; || content == &#8221;) {
</p>
<p>
  					alert(&#8216;请输入昵称或留言内容&#8217;);
</p>
<p>
  					return;
</p>
<p>
  				}
</p>
<p>
  				//提交表单
</p>
<p>
  				$(&#8216;.form1&#8217;).submit();
</p>
<p>
  			});
</p>
<p>
  		});
</p>
<p>
  	&lt;/script&gt;
</p>
<p>
  &lt;/body&gt;
</p>
<p>
  &lt;/html&gt;
</p>
<h3>添加功能</h3>
<ul>
<li>
    定义路由处理添加数据
  </li>
</ul>
<p><img loading="lazy" decoding="async" width="756" height="472" src="/wp-content/uploads/2018/05/word-image-5771.png" class="wp-image-6330" srcset="/wp-content/uploads/2018/05/word-image-5771.png 756w, /wp-content/uploads/2018/05/word-image-5771-300x187.png 300w" sizes="(max-width: 756px) 100vw, 756px" /></p>
<ul>
<li>
    创建控制器方法处理数据
  </li>
</ul>
<p><img loading="lazy" decoding="async" width="818" height="661" src="/wp-content/uploads/2018/05/word-image-5772.png" class="wp-image-6331" srcset="/wp-content/uploads/2018/05/word-image-5772.png 818w, /wp-content/uploads/2018/05/word-image-5772-300x242.png 300w, /wp-content/uploads/2018/05/word-image-5772-768x621.png 768w" sizes="(max-width: 818px) 100vw, 818px" /></p>
<p>
  &lt;?php
</p>
<p>
  namespace frontend\controllers;
</p>
<p>
  use Yii;
</p>
<p>
  use common\models\Msg;
</p>
<p>
  use yii\web\Controller;
</p>
<p>
  /**
</p>
<p>
   * 测试控制器
</p>
<p>
   */
</p>
<p>
  class MsgController extends Controller
</p>
<p>
  {
</p>
<p>
      //说明laravel框架有layout模板机制
</p>
<p>
      //声明属性决定layout是否使用
</p>
<p>
      //当前控制器都生效
</p>
<p>
      public $layout = false;
</p>
<p>
      //关闭cstf验证
</p>
<p>
      public $enableCsrfValidation = false;
</p>
<p>
      //添加
</p>
<p>
      public function actionCreate()
</p>
<p>
      {
</p>
<p>
          //1.判断是否post提交
</p>
<p>
          if (Yii::$app-&gt;request-&gt;isPost) {
</p>
<p>
              //2.接受数据
</p>
<p>
              $title = Yii::$app-&gt;request-&gt;post(&#8216;uname&#8217;);
</p>
<p>
              $desc = Yii::$app-&gt;request-&gt;post(&#8216;content&#8217;);
</p>
<p>
              //3.实例化对象并保存数据
</p>
<p>
              $msg = new Msg;
</p>
<p>
              $msg-&gt;title = $title;
</p>
<p>
              $msg-&gt;desc = $desc;
</p>
<p>
              $msg-&gt;created_at = time();
</p>
<p>
              $msg-&gt;updated_at = time();
</p>
<p>
              $rs = $msg-&gt;save();
</p>
<p>
              return $this-&gt;redirect([&#8216;/msg&#8217;]);
</p>
<p>
          }
</p>
<p>
      }
</p>
<p>
      //列表
</p>
<p>
      public function actionIndex()
</p>
<p>
      {
</p>
<p>
          //1.查询数据通过模型
</p>
<p>
          $msgs = Msg::find()-&gt;all();
</p>
<p>
          //2.加载视图并传递数据
</p>
<p>
          return $this-&gt;render(&#8216;index&#8217;, [
</p>
<p>
              &#8216;msgs&#8217; =&gt; $msgs
</p>
<p>
          ]);
</p>
<p>
      }
</p>
<p>
  }
</p>
<p><img loading="lazy" decoding="async" width="717" height="382" src="/wp-content/uploads/2018/05/word-image-5773.png" class="wp-image-6332" srcset="/wp-content/uploads/2018/05/word-image-5773.png 717w, /wp-content/uploads/2018/05/word-image-5773-300x160.png 300w" sizes="(max-width: 717px) 100vw, 717px" /><br />
<img loading="lazy" decoding="async" width="792" height="446" src="/wp-content/uploads/2018/05/word-image-5774.png" class="wp-image-6333" srcset="/wp-content/uploads/2018/05/word-image-5774.png 792w, /wp-content/uploads/2018/05/word-image-5774-300x169.png 300w, /wp-content/uploads/2018/05/word-image-5774-768x432.png 768w" sizes="(max-width: 792px) 100vw, 792px" /></p>
<p>
  多学一招：
</p>
<p>
  Yii::$app-&gt;request-&gt;isPost
</p>
<p>
  Yii::$app-&gt;request-&gt;post(键)</p>
]]></content:encoded>
					
					<wfw:commentRss>/%e5%90%8e%e5%8f%b0%e6%a1%86%e6%9e%b6/6297.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
