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 つの投稿に非常に多くの返信を投稿し、それが非常に速いのかを考えることができます。
答え: その返信はデータベースに入力されず、静的ファイルに直接書き込まれ、同様の方法を使用して変更されるためです。上の私のものに。彼のソース コードを見て