ホームページ > バックエンド開発 > PHPチュートリアル > ci フレームワーク (1)、ci フレームワーク (_PHP チュートリアル

ci フレームワーク (1)、ci フレームワーク (_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:23:26
オリジナル
1011 人が閲覧しました

ci フレームワーク (1)、ci フレームワーク (

ci ディレクトリ構造)

リーリー

アクセスフォーム applicationcontrollerswelcome.phpに関数を追加します: リーリー

エントリーファイル.php/controller/action

ci フレームワーク (1)、ci フレームワーク (_PHP チュートリアル 新しいコントローラーを自分で作成します (hello.php:) リーリー

注意:

ci フレームワーク (1)、ci フレームワーク (_PHP チュートリアル アンダースコアで始まるメソッド名には正常にアクセスできず、間接的にのみアクセスできます。

    パブリックに変更されたメソッドのみにアクセスできます。
  • クラスと同じ名前のメソッドはコンストラクターとして扱われるため、使用しないでください。
ビューの読み込み中

applicationviewsview_test.php または applicationviewsviewtest.php (このメソッドは主に、管理を容易にするために同じタイプのビューを同じフォルダーに配置しやすくするためのものです) リーリー コントローラー: リーリー または:

リーリー

効果:

変数の割り当て

コントローラーからビューにデータを転送、コントローラー:

リーリー

表示:

リーリー

効果:

ci フレームワーク (1)、ci フレームワーク (_PHP チュートリアルpublic

function

addView() {

$this

->load->vars("タイトル","値"

);

ci フレームワーク (1)、ci フレームワーク (_PHP チュートリアル$list = 配列( 配列('id'=>1,'name'=>'jack','email'=>'123@123.com'), 配列('id'=>2,'name'=>'jack2','email'=>'1233@123.com'), 配列('id'=>3,'name'=>'jack3','email'=>'12333@123.com') ); $data['new_title']="タイトル"; $data['リスト']=$リスト; $this->load->vars($data); $this->load->view("view_test"); $this->load->view("フッター"); } view_test を表示: リーリー フッターを表示: リーリー 表示効果: uriパラメータ取得 コントローラー: リーリー 効果:

ci フレームワーク (1)、ci フレームワーク (_PHP チュートリアル加载数据库                                                                                 

这个操作在MVC中是放到model中做的。

在\application\config\database.php中配置数据库参数,注意dbprefixswap_pre这两个参数。在php中写的是前缀,会默认当作swap_pre,然后放到数据库中的时候会转成dbprefix,但是最好两个都弄成一样的。

还有$active_group,默认是default,如果要连接两个数据库,把default另外取名,然后在函数中写明参数就OK。

必须继承数据核心类CI_Model,同时重载父类中的构造方法。

<span>class</span> Model_name <span>extends</span><span> CI_Model
{
    </span><span>function</span><span> __construct()
    {
        parent</span>::<span>__construct();
    }
}</span>
ログイン後にコピー

在每次使用数据库的时候,都需要加载一次数据库:

<span>$this</span>->load->database();
ログイン後にコピー

为了方便,可以将数据库的加载设置成自动加载,在\application\config\autoload.php中。

<span>$autoload</span>['libraries'] = <span>array</span>('database');
ログイン後にコピー

对于数据库访问对象,装载到超级对象的属性中 $this->db

<span>$res</span> = <span>$this</span>->db->query(<span>$sql</span>);<span>//</span><span>返回对象</span>
<span>$res</span>->result();<span>//</span><span>返回数组,数组中是一个一个的对象</span>
<span>$res</span>->result_array();<span>//</span><span>返回二维数组,里面是关联数组</span>
<span>$res</span>->row();<span>//</span><span>返回第一条数据,直接是一个对象</span>
ログイン後にコピー

AR操作数据库

在database.php文件中,将$active_recoed的值改为TRUE,这样就可以使用AR了。

<span>//</span><span>查询</span>
<span>public</span> <span>function</span><span> index()
{
    </span><span>$res</span> = <span>$this</span>->db->get('表名');<span>//</span><span>这里自动调用前缀</span>
    <span>foreach</span>(<span>$res</span>->result() <span>as</span> <span>$item</span><span>)
    {
        </span><span>echo</span> <span>$item</span>->name."<br />"<span>;
    }
}</span>
ログイン後にコピー
<span>//</span><span>插入</span>
<span>public</span> <span>function</span><span> index()
{
    </span><span>$data</span>=<span>array</span><span>(
        </span>'name'=>'lisi',
        'password'=><span>md5</span>('lisi'<span>)
    );
    </span><span>$bool</span> = <span>$this</span>->db->insert("表名",<span>$data</span><span>);
    </span><span>var_dump</span>(<span>$bool</span><span>);
}</span>
ログイン後にコピー
<span>//</span><span>更新</span>
<span>public</span> <span>function</span><span> index()
{
    </span><span>$data</span>=<span>array</span><span>(
        </span>'name'=>'wangwu',
        'password'=><span>md5</span>('wangwu'<span>)
    );

    </span><span>$bool</span> = <span>$this</span>->db->update('表名',<span>$data</span>,<span>array</span>('id'=>3<span>));
    </span><span>var_dump</span>(<span>$bool</span><span>);
}</span>
ログイン後にコピー
<span>//</span><span>删除</span>
<span>$bool</span> = <span>$this</span>->db->delete('表名',<span>array</span>('id'=>2<span>));
</span><span>var_dump</span>(<span>$bool</span>);
ログイン後にコピー

新手助PHP 程序 CI框架开发 进来看一眼吧

常规的方法是ul嵌套,即主菜单ul-li里嵌套子菜单ul,要用到两级循环
首先循环主菜单,要有固定的条件来判断出主菜单,比如主菜单的uid==0或者其它。。。


  • 栏目名称</li>
    if($news_item['uid'] == 0){ //判断并得到主菜单

    echo "
  • ".$news_item['title'] . '
      ';
      foreach ($news as $child_item): //循环二次
      if($news_item['id'] == $child_item['uid']){ //判断并得到对应子菜单
      echo "
    • "."ss".$child_item['title']."</li>";
      }
      endforeach;
      echo "</ul></li>";
      }

      endforeach; ?>
      </ul>

      当然这仅限于两级菜单,多级或无限极,可以使用函数递归
      function menu($uid=0){ //设置缺省从主菜单开始
      global $news;
      foreach ($news as $news_item):

      if($news_item['uid'] == $uid){

      echo "
    • ".$news_item['title'] . '
        ';
        menu($news_item['id']); //递归调用

        echo "</ul></li>";
        }

        endforeach;

        }
        ------ 调用方法 ------------------------------
          >
           

          CI框架想创建一个model类继承CI_Modle,我创建在app/core/MY_Model,直接报错了

          MY_Controller のクラス名は同じである必要はありませんか?

          www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/836503.html技術記事 ci フレームワーク (1)、ci フレームワーク (ci ディレクトリ構造 |----- システム フレームワーク プログラム ディレクトリ |----- フレームワークのコア コア プログラム |-----CodeIgniter.php ガイド ファイル |---- -Common.php は基本クラス ライブラリをロードします...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート