ホームページ > バックエンド開発 > PHPチュートリアル > ThinkPHP フレームワークを使用して、Web サイト上の複数の画像を迅速に開発します

ThinkPHP フレームワークを使用して、Web サイト上の複数の画像を迅速に開発します

WBOY
リリース: 2016-08-08 09:19:14
オリジナル
1035 人が閲覧しました

良い記事を集めましょう

ThinkPHPフレームワークを使ってWebサイトを素早く構築しましょう

今週は研究室Webサイトの制作に忙しく、基本的な機能は完成しました。さらにやりがいがあるのは、ThinkPHP フレームワークを一般的に理解できることです。記念に何か書きましょう。 Web に不慣れな方にも何か助けがあれば、それはさらに良いことです。

私は以前、PHP を使って非常にくだらない Web サイトを作成していました。なぜなら、それはすべてデッドコードだったからです。終わってみると、フロントエンドはdiv+css、jsが必要、バックエンドはphp、mysqlが必要で、やることが多くて頭が痛かったです。そのため、Webサイト制作の仕事をもらった後、すぐに開発フレームワークを使って制作しなければならない、以前ほど疲れてはいけないと思いました。

私は PHP の ThinkPHP フレームワークを選択しました。正直に言うと、本当にかなり良いです。 Web 開発は非常に効率的であるとすぐに感じました。

ハイパーリンク: ThinkPHP 中国語 Web サイト

ルーチンに従って、最初に実験環境を投稿します:

  • 1. AMP (統合されたもので、最も簡単です)設定なし必須)
  • 2. ZendStudio7.2 (ダウンロード、オンライン登録マシン、使用方法のチュートリアルを提供する中国の Web サイト http://www.zendstudio.net/)
  • 3. ThinkPHP フレームワーク+Baidu UEditor エディター プラグイン
  • 4. Firefox
  • FireBug
  • プラグインは、デバッグとスタイルの盗用に使用されます



----------------------------- -- ---------------------------------------見事なセグメンテーション-- -------------------------------------------------- - --------




ステップ 1: Web テンプレートを見つける (アートはありません、PS、申し訳ありません...)

大学の研究室のフロントエンドページを探しているので、ここには投稿しません。ごく普通の内容です。バックグラウンドで直接ダウンロードされたテンプレートは、実行すると次のようになります。初めてのUEditorプラグイン

やりたいのは研究室のWebサイトなので。研究室ホームページの主なコンテンツは以下の通りです。


研究室メンバーの紹介

研究室のプロジェクトや成果など

研究室ニュースや学術交流情報

情報

はバックグラウンドでのニュースや記事情報のリリースが主であり、フロントデスクには編集者がほとんどいないことがわかります。したがって、バックグラウンドで便利な記事公開システムを実装することに重点が置かれています。

私は、Baidu が開発した UEditor WYSIWYG エディターを選択しました。主に JS で実装され、バックエンドに統合された後は以下のようになります。詳細なチュートリアルが記載されている UEditor の公式 Web サイトを参照してください。

  • ステップ 3: ThinkPHP フレームワークを初めて理解する

    まず、知覚的な理解を強化するために、ThinkPHP フレームワークの紹介から始めましょう。 ThinkPHP プロジェクトのディレクトリ構造を見てみましょう:



    フォルダー:

    はバックグラウンドプロジェクトフォルダーです

    • homeはフロントエンドプロジェクトです
    • publicはWebページにCSSファイル、JSファイル、画像を保存するために使用されます
    • ThinkPHPフレームワーク
    • ueditorはBaiduエディタです
    • 次の3つのPHPファイル:

    admin.phpはバックエンドプロジェクトのエントリファイルです、

    • index.phpはフロントエンドプロジェクトのエントリーファイルです。
    • config.inc.php、この小さなプロジェクトのほぼすべてのデータがデータベースに配置され、フロントエンドとバックエンドがデータベースに接続する必要があるため、すべてのデータベース構成コードがそこに配置されます。
    • そして、残りのビルドパス、.settings、.project は、それらに関係なく、Zend IDE によって生成されます。

    ----------------------------------------------------- ---------------見事なセグメンテーション----------------------------- - ------------------------



    だって、ここには実は二人いるんです。プロジェクト (ホームと管理者) については、どちらか 1 つだけを理解する必要があるため、

    その背景、つまり管理者部分のみを紹介します


    次に、admin.php ファイルを見てください。これが、バックエンドの入り口ファイルです。




    いくつかのマクロ定義は、それぞれ次を指定します。 ThinkPHP フレームワーク パス


    2. バックエンド アプリケーション ディレクトリ

    3. バックエンドアプリケーション名

    • 4. デバッグモードをオンにする
    • 5. ThinkPHP フレームワークの下に ThinkPHP.php ファイルが含まれています。 )
    • 開発プロセスを示すために新しい小さなプロジェクトを作成しましょう:
    • たとえば、プロジェクト全体の大きなディレクトリは xxx で、ThinkPHP フレームワークをコピーします。そして、admin.php ファイルを追加します (上の図のコードのように)

    この時点でブラウザに次のように入力します: http: //localhost/xxx /admin.php

    以下に示すように、管理ディレクトリが自動的に生成されます



    、内容は次のとおりです:


    主に 4 つのフォルダーに焦点を当てます:

    1. Conf はプロジェクト設定ファイルを保存します (いくつかの定数の定義など)

    2. Lib (最も重要です! MVC モードでモデルクラスとコントローラークラスを保存します)

    3 . Tpl (ストレージ テンプレート ファイル。論理的には、以前にダウンロードしたテンプレートがここに配置されるはずです)

    4. 最後に、実行結果をブラウザに投稿します。 。投稿が少し遅れて申し訳ありません。



    上記の画面が表示されれば、ThinkPHPは正常に実行できるということになります。引き続き改善していきましょう。


    ----------------------------------------------------- ------------------------見事なセグメンテーション---------------------------- - ------------------------


    ステップ 4: MVC パターンを理解する


    この時点で、ThinkPHP における MVC の概念について触れなければなりません。 MVC は、モデル-ビュー-コントローラー パターンで有名です。


    ThinkPHP では:

    モデルはデータベーステーブル と考えることができます。私が行っているプロジェクトについては、

    記事 (ニュース) の場合、その属性には ID 番号、タイトル、作成者、作成時刻、最終更新時刻、記事の内容が含まれます。これは記事のモデルです。次に、次の考えに従って、対応するデータベース テーブルを作成します。ユーザーが見る、それはテンプレート、またはスキン。

    たとえば、以前に投稿した背景テンプレートは、ThinkPHP の概念でのビューです。

    コントローラー (アクション) は、ビューとモデルの間のブリッジとして考えることができます
    。なぜなら、ウェブサイトに表示されるコンテンツは基本的に多くのモデル

    (データベーステーブル) から来ており、コントローラーはどのモデルのどのデータをどのような状況で表示するかを決定する責任があるからです
    。私の例を見てみましょう。バックグラウンド プロジェクトのホームページに対応するコントローラーは Index コントローラーです。 (インデックス コントローラは、すべてのプロジェクトのデフォルト コントローラです)。しかし、考えてみると、Web サイトのトップページには通常、他の場所にジャンプできるボタンやハイパーリンクなどがたくさんあります。写真を投稿してください:



    これは私のバックエンドホームページです。左側にナビゲーションバーがあり、右下にデータベース内の現在の記事情報が一覧表示されており、合計3つの記事があることがわかります。たとえば、今やりたいことは次のとおりです。

    1. 記事「1111 テスト記事公開システム」を削除します 2. 記事「James が 3 番目の MVP トロフィーを獲得」を変更します。 「4番目のMVPトロフィーを高く掲げるジェームズ」へ3. 別の記事を追加しました


    これは、インデックス コントローラーのさまざまな機能、つまりインデックス コントローラー クラス IndexAction のさまざまなメソッド (edit() メソッド、delete() メソッド、add() メソッドの名前付けなど) に対応します。もちろん、ページが表示されるのは、IndexコントローラーのIndex()メソッドがデフォルトで実行されており、このメソッド内でdisplay()メソッドが呼び出されているためです。テンプレートを表示します (View)。信じられない場合は、Index コントローラーの Index メソッドが HelloThinkPHP のウェルカム ページを実装していることを確認してください。


    例:

    IndexAction ディレクトリは:

    /xxx/admin/Lib/Action/IndexAction.class.php

    内容は次のとおりです:



    デフォルトで $this->display() がインデックス メソッド

    で呼び出されていることがわかります (IndexAction は Action クラスを継承し、ディスプレイメソッドは Action クラスのメソッドです);

    display() メソッドを呼び出した後、ThinkPHP は、対応するプロジェクトの Tpl フォルダー の下にある index.html ファイルを見つけます。 。前者の Index フォルダーは Index コントローラーに相当し、index.html は Index() メソッドに相当します。 つまり、コントローラークラスはテンプレートフォルダーに相当します。対応するテンプレートの具体的な数は、コントローラー クラスにあるメソッドの数と、

    display

    を必要とするメソッドの数によって異なります。 したがって、現時点での対応するテンプレート ファイルのパスは次のとおりです。

    Carたくさんの友達が質問したいのですが、ここではビュー (テンプレート) とコントローラーについてのみ話しましたが、モデルについてはどうなるのでしょうか?

    データベース内の 3 つの記事の情報をどうやって知るのですか?実際、次の図はインデックス メソッドの簡略化したバージョンです。



    ご覧のとおり、最初のステップでインスタンスを作成しました。それはモデルです。モデルの名前は Article です。前述したように、モデルはデータベース テーブルです。




    」 think_article を見ると、実際には設定ファイルで指定されているプレフィックス think_ がまだあることがわかります。上記の

    config.inc.php


    を覚えていますか? 設定コードは次のとおりです:


    return array

    (

    =>

    'mys ql'

    , H'db_host ' = & gt; 'localhost',

    'db_name' ,;P'db_pwd '

    = & gt; パスワード ,

    'db_port'

    '3306', 'db_prefix ' = & gt;

    「考える_」

    );

    ?>


    2 番目のステートメントは
    クエリ データベース です。 ThinkPHP には、データベースにクエリを実行するためのメソッドが多数用意されています。私はコヒーレント操作メソッドを使用します。

    2番目のステートメントを実行した後、$new_list変数にはすべての記事の情報が格納されますが、それをインターフェイスに表示するにはどうすればよいですか?

    3 番目の文を見てください。変数を 'new_list' という変数に代入しています (同じ名前のように見えます...しかし、それは問題ではありません。重要なのは assign メソッドです) )をテンプレートファイルに追加します。内部を置き換えても大丈夫です。デフォルトでは、HTML に {$new_list} を記述しても問題ありません。もちろん、ここでの new_list は複合変数であり、単純な数値や文字列ではありません。 。ただし、ThinkPHP には、使用できるループ メソッドが多数用意されており、非常に便利です。


    最後のステートメントは、対応するビュー ファイルを表示することです。データベース内の記事情報を、ビュー(テンプレート)で定義したルールに従ってブラウザ上に表示することができます。

    ----------------------------------------------------- ------------------------見事なセグメンテーション-------------------------- - ----------------------------------

    ソースコードのダウンロード

    最後に、サンプルプロジェクト xxx のソースコードを示します。困っている友人はそれをダウンロードして、ThinkPHP の一般原則をすぐに理解できます。

    ソースコードの機能:

    1. 記事の追加、記事の編集、記事の削除

    • 3. フロントデスク記事を表示
    • 使用方法:

    1. ウェブサイトのルートディレクトリに解凍します。デフォルトは www フォルダーの下の xxx フォルダーです
    :

    2. MySQL に新しいデータベース (

    rubydb
    • など) を作成し、utf8 に編成します。 -一般-ci

    3. データベース テーブル フォルダーの下に 2 つのデータベース テーブル
    think_article

    think_user をインポートします。インポート後、次の図が表示されます。

    • 4. 設定
    Config.inc.php

    ファイル

    • [php] ビュー 普通のコピー

    1. "font-size:16px;"
    2. return array (
    3. 'DB_TYPE' 'localhost',
    4. 'DB_NAME' = > '自分でデータベースを構築する', // 新しいデータベースを作成する必要があります!名前は
    5. 'db_user''yourデータベースusername'// databaseユーザー名アウトアウトアウトアウトオフアウトアウトスルーアウトアウトアウトスルーオフはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいはいso so so ,//データベースログインパスワード
    6. 'DB_PORT' => '3306',
    7. ' DB_PREFIX' <スパンスタイル= "ホワイトスペース:pre" 'DB_NAME'=>'rubydb' ,
    8. 'DB_ USER
    9. ' =>' mysql ログインアカウント' ,'DB _障害者' =>' mysql ログイン パスワード'
    10. 5. http://localhost/xxx/admin .php を実行すると、バックグラウンドのログイン ページが表示されます:
    11. データベースにユーザー情報「think_user:ruby97」、パスワード「ruby97」を入力し、確認コードを入力してログインします。

    [ニュースを書く] ボタンを選択し、自分で記事を追加します。次に、http://localhost/xxx

    にアクセスして結果を確認してください。

    ソースコードダウンロードリンク


    より転載: http://blog.csdn.net/ruby97/article/details /7574851 /

    上記では、コンテンツの側面も含めて、ThinkPHP フレームワークを使用して Web サイト上の複数の画像を迅速に開発する方法を紹介しましたが、PHP チュートリアルに興味のある友人に役立つことを願っています。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート