ホームページ > バックエンド開発 > PHPチュートリアル > 初心者向けに特別に作成された Smarty と組み合わせたクラス ページ 1/3_PHP チュートリアル

初心者向けに特別に作成された Smarty と組み合わせたクラス ページ 1/3_PHP チュートリアル

WBOY
リリース: 2016-07-21 16:00:07
オリジナル
766 人が閲覧しました

smarty と組み合わせて使用​​する初心者向けに特別に作成されたクラスです。貴重なフィードバックをお寄せください。


これは、smarty と組み合わせて使用​​するために、初心者向けに作成されたクラスです。初心者がすぐに使えるようにするためのものではないので、注釈はあまり詳しく書いていません
専門家の皆様のご意見をいただければ幸いです。改善に努めます。
まず最初に断っておきますが、これを書く目的は自分自身を鍛えるためです。似たようなクラスがたくさんあることは承知していますが、それでも私は一つを書くことにしました。

ファイルもパッケージ化してアップロードしましたので、ダウンロードしてコメントしてください。ご不明な点がございましたら、直接お問い合わせください

現在、このクラスには以下の関数が含まれています(使用例、$m = new Machine_m()と仮定)
[データベース]
現在MYSQLとACCESSの2つのデータベースをサポートしています
設定については、 config.php ファイルを参照してください
使用: $m->send_query (SQL ステートメント) //
$m->select_query (SQL ステートメント、リソースを返すかどうか、デフォルトは false、つまり 2 次元のリソースを返すことを意味します) array)

[エラー処理]
システムエラーとユーザーエラーに分けられます
システムエラー:
$this->sys_err('設定エラー、設定設定ファイルを確認してください', 'die');
最初のパラメータは最初のパラメータである /lib/error/system.err にエラー情報を記録します。 2 つのパラメータは処理方法 (keep または die) です。ブラウザのプロンプトを変更する必要がある場合は、3 番目のパラメータも設定できます。デフォルトは次のとおりです。 「申し訳ありませんが、このサイトでシステム エラーが発生しました。後でもう一度お試しください。
ユーザー エラー:
$m->user_err( '登録システムが終了しました', 'die', $_SERVER['HTTP_REFERER'] );最初のパラメータはブラウザに表示されるプロンプト、2 番目のパラメータは処理方法 (keep または die)、3 番目のパラメータはジャンプ ページです。エラー情報を記録する必要がある場合は、4 番目のパラメータも設定できます。エラー情報は /lib/error/user.err に記録されます。デフォルトでは保存されません。

ブラウザ側のエラー プロンプトは、デフォルトで /lib/error/ にある err_page.htm テンプレート ファイルを呼び出します。独自のエラー テンプレート ファイルを設定して、$m->err_page= でロードすることもできます。

[静的生成]
たった1行で静的ページを自動生成し、ジャンプ時に静的ページの有効期限を設定することができます
(まだ不完全な静的で、完全に複雑で、現在は統合されていません。完了 静的であれば、私のcreate_html関数とテキスト操作系の関数を組み合わせて実装可能です)
使用方法:
$m->create_html (テンプレートファイル、静的出力パス、出力ファイル名); m-> ;goto_html();
出力ファイル名はデフォルトで現在のphpファイルのファイル名になります。このパラメータを指定する目的は、静的ページングを使用する必要がある場合にこのパラメータ設定を使用できるようにすることです。 -次元配列のソート (推奨)]
はい 2 次元配列を次のようにソートします: 「最初にフィールド a で昇順、次にフィールド b で降順」
使用方法:
そのような配列があるとします: $x = array( array('name'=>'machine_horse', 'age'=>23),array('name'=>'tom',age=>28),... )
今この配列を名前の昇順、次に Age の降順でソートする必要があります
使用方法は m_sort($x,'name',SORT_ASC,'age',SORT_DESC) です

[動的読み込み]
一般的に使用されない関数の場合リソース
たとえば、m_sort 関数を使用したい場合、この関数はデフォルトではロードされません
次のようにロードする必要があります: $m-> ;load_func('m_sort')
次に、 m_sort 関数を使用できます

[ページング]
ここでは、最初にクラスを作成し、次にそれを調整するための関数を作成しました。使い方: m_page (データ項目数、現在のページ番号、ページあたりの行数)、表示されるジャンプリンクの数)
関数は配列を返します: array(
'rows) ' => 各ページに表示される行数,
'prve' => 前のラージ ページのページ番号, //いわゆるラージ ページは、前の 7 ページと次の 7 ページにジャンプするのと似ています
'next' => 次の大きなページのページ番号、
'pages' => SQL クエリの開始レコードの数、
'count' => レコードの数、
'links' => リンク ページ番号、 // ページが 13 ある場合、リンクの数は 7 で、現在 2 番目に大きいページにある場合、出力 array(8 ,9 ,10,11,12,13)​​
'current_page' => 現在のページ番号
);

【検証フォーム】
判定する際に、事前に検証が必要なフォームを記述しておきます。 $_POST を入れるだけです 渡すだけです
使い方: 自分で関数を見てみれば理解できるはずです

[クロスサイト攻撃を防ぐ]
この関数も関数で書かれています

[中国語傍受関数]
私が書いたものではなく、私が変更しただけです

[ファイルのアップロード]
m_up_file($_FILES、アップロードパス、ファイルタイプ、サイズ制限)
Theアップロード パスは次のように設定できます。 1: フォルダー パスを直接書き込みます。 2:array('gif'=>'file/gif','jpg'=>'file=>jpg') gifファイルはfile/gifフォルダ、jpgに自動配置されます file/jpgフォルダにファイルを置きます
ファイルタイプ:書き方1:'jpg'、書き方2:array('jpg','jpeg','gif ')
Return array( 'arr' => アップロードされたファイルの配列、 'err_msg' => アップロード プロセス中のエラー メッセージ、 'num' => 成功したアップロードの数)

[テキスト操作 (推奨)]
$str="Hellophpchina" という文字列があるとします。 $new_str=m_txt_replace('content','machine_马) を変更できます。 ',$str);
$new_str の値 "Hellomachine_马" の場合: m_txt_add、 m_txt_delete と m_txt_get は似ているので、自分の目で確認してください。

注: これは、静的ページを生成した後に変更する方法です。
6to23 を参照して、なぜ彼が 1 つの投稿に非常に多くの返信を投稿し、それが非常に速いのかを考えることができます。
答え: その返信はデータベースに入力されず、静的ファイルに直接書き込まれ、同様の方法を使用して変更されるためです。上の私のものに。彼のソース コードを見て