Codeigniter Notify(UPD:06/16/12)

おやすみ、ハブラ
Notifyと呼ばれるその場しのぎのcodeigniterライブラリを共有したいと思います。
ユーザーにメッセージを表示するように設計されています。


かなりの歴史

図書館は6か月強です。 彼女の最初のパフォーマンスでは、彼女は私がその時に書いた自作のcrmのヘルパーでもありました。
彼は後にcodeigniterに切り替えて、一緒にドラッグしました。
それ以来、私はプロジェクトからプロジェクトへと引っ張ってきました。 それは私に合っています、多分誰かも役に立つでしょう。

ほんの少しの説明

ライブラリを作成して、ユーザーにメッセージを表示することを繰り返します。
基本スタイルと必要なjsスクリプトは、phpファイルのテキストに直接含まれています。 これはあなた自身の便宜のために行われます。
ページが非同期に要求されるかどうかに応じて、応答はセッションに書き込まれるか、json形式で返されます。
単一のメッセージまたはキューを返すことができます。 メッセージは異種の場合があります。
キューにメッセージを挿入してリダイレクトするか、ビューをロードする前にメッセージをキューに挿入すると、そこにメッセージが表示されます。 JavaScriptによって追加されたメッセージは、サーバーの応答から解析されるか、js-codeから直接追加されるかのように見えます。
応答とともにデータまたはリダイレクトアドレスを送信できます。

設置

  1. githubからcodeigniter-notify-libraryをダウンロードします
    githubからダウンロード

  2. ライブラリには2つのファイルがあり、1つは/ application / configフォルダに、2つ目は/ application / libraries /に移動します
  3. autoload.phpを介してライブラリを接続するか、load-> libraryを介してコントローラに直接接続します
  4. その後、メイン/メインビューを変更します


<html> <head> ... <?=$this->notify->initJsCss()?> <!--  -   ,   --> </head> <body> <?=$this->notify->getMessages()?><!--   --> ... </body> </html> 


PHPでの使用例:

  function some_action() { if ($result) { $this->notify->error('   '); $this->notify->setData( json_encode(array('sum_count' => 4)) ); $this->notify->returnSuccess(' '); } else $this->notify->returnError(' - '); } 


jsでの使用例:

 $.post(url,form_data,function(data) { var json = $.parseJSON(data); if (notifyIsSuccess(json)) { $(".sum").text(json.data.sum_count); notifySuccess('   '); } notify(json); //   ,    }); 


主な方法

  //     $this->notify->error(' - '); // php notifyError('   '); // js //      $this->notify->success('    '); // php notifySuccess('    '); // js //     //  javascript      data   $this->notify->setData( json_encode(array('item' => 'value')) ); //    ,       php, //      window.location $this->notify->setComeback( site_url() ); //       $this->notify->returnNotify(); 


依存関係:



cssおよびjsハードコードに関するUPD

私はこれが強打で受け入れられないことを知っていました)私を信じて、これは非識字からではありません(まあ、私はそう願っています:))。 これが行われた理由を説明しようとします。
改訂ライブラリの作業の最初に、多くのマイナーな編集が​​ありました。 そして、それはいくつかのプロジェクト、2、3で同時に使用されましたが、私は覚えていません。 コードの変更の同期が原因で、最強の突破口をおaびしました。 私はすでに、すべてが自分の便宜のために1つのファイルにマージされることを書きました。
この段階では、多くの編集はありません。最終的にハエをカツレツから分離できると思います)

コメント、長所、短所、フォーク-どんな反応でも嬉しいです。
ありがとう

投稿の下部にあるダウンロードリンクをお探しの場合:
リポジトリリンクが変更されました
github.com/antongorodezkiy/codeigniter-notify-library

github.com/antongorodezkiy/notify-library
githubからダウンロード

03/26/12のUPD

ライブラリが更新されました。 ライブラリを不可能にする重大なバグを1つ削除しました。
また、mustDieメソッドが追加され、returnメソッドの後にライブラリがスクリプトの実行を中断することを許可/禁止します。 これは、私の場合、たとえば、モジュール(たとえばHMVC)で使用するために行われます。

 ... $this->notify->mustDie(false); $result = Modules::run('admin/programs_offers/attach'); //      $this->notify->returnError(); $this->notify->mustDie(true); if ($result) $this->notify->returnSuccess('  '); 


06/16/12のUPD

ライブラリが更新されました。
 //      (ttl), 0 -     ,       $this->notify->returnError(' - ',0); //         setTtl(),   $this->notify->setTtl(4); //       ,    setSilence() $this->notify->setSilence(true); $this->notify->returnError(' - '); //      $this->notify->setSilence(false); $this->notify->returnError('   - '); //     //     ,          //       $this->notify->getMessages(); //     ,         //    getMessages()   ,            // controller: $this->notify->error(' 1'); ... $this->notify->error(' 2','',' '); // view: $this->notify->getMessages(); //    1,  2    ... $this->notify->getMessages(' '); //    2 

Source: https://habr.com/ru/post/J140293/


All Articles