問題タブ [codeigniter]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - テキスト入力を介してURLの特殊文字をエンコードする際の問題
CodeIgniterを使用してPHPアプリケーションを構築しています。Let Me Google That For You
これは、テキスト入力ボックスに文章を書き込んで[送信]をクリックすると、結果を表示するURLに移動するのと似ています。URLは人間が編集でき、比較的単純なものにしたかったのです。私はCodeIgniterのURLルーティングを理解したので、今のところ私のURLは次のようになります。
現在の問題は、文に疑問符や円記号などの特殊文字が含まれている場合です。これらは両方とも私の現在の.htaccess
書き換えルールを台無しにしており、キャラクターがエンコードされている場合でも発生します。
動作するのはダブルエンコーディングです。たとえば、疑問符を取り、それをにエンコードするとし%253F
ます(ここで、?は%3Fにエンコードされ、%記号は%25にエンコードされます)。このURLは正しく機能します。
誰かが私がここで何ができるかについての考えを持っていますか?入力を二重にエンコードする賢い方法はありますか?.htaccess
これを回避するための書き換えルールを作成できますか?私はここで途方に暮れています。これが私が現在みんなに使っている書き換えルールです。
注:CodeIgniterが機能する方法は、index/application/function/parameter
URLが設定されていることです。現在、関数に完全なクエリ文字列をフィードしています。
php - PHP の $_POST 関数にパラメータがありません
CodeIgniter を使用して、$_POST
リクエストを介して PHP ページにいくつかのパラメーターを渡しています。
myParam
パラメータが$_POST
リクエストに存在する場合、値$foo
が割り当てられmyParam
ます。リクエストでが渡さ れていないかどうかを確認するにはどうすればよいmyParam
ですか?$_POST
php - 長すぎる Codeigniter コントローラー関数をどのようにリファクタリングしますか?
コントローラーの関数が思ったよりも長くなりました。管理しやすくするために、いくつかの個別の関数を呼び出すようにリファクタリングしたいと考えています。Codeigniter コントローラーで長い関数をより適切に整理するにはどうすればよいですか?
私が試したこと:
先頭にアンダースコア (_myfunc) を付けて名前を付けることで、コントローラー内にプライベート関数を作成できることはわかっていますが、関数内の変数は呼び出し元のコントローラー関数の範囲外です。そのため、面倒な関数から必要なすべてのデータを返す必要があります。
これは、複雑なコントローラー機能を管理するための最良のオプションですか? 標準クラスのメンバー変数のように、変数がすべてコントローラ クラスに対してグローバルになる簡単な方法はありますか?
提案?前もって感謝します!
編集:誰かがコードを要求したので、以下に巨大なコントローラーのコードを追加しました。改善の 1 つの機会は、switch ステートメントのロジックを別の機能 (削除、プレビュー、注文など) に移動することです。しかし、その後の次のステップを決定しようとしています。大きな検証セットアップ コードを独自の関数に移動すると、実際には重量がいくらか減りますが、どこに移動すればよいでしょうか?
php - PHP のテンプレート、およびテンプレートが存在することをアプリケーションに通知する最良の方法は?
私は CodeIgniter を使用していますが、非常に使いやすくしたいので、そのテンプレート ライブラリを使用する可能性があります。テンプレート変数のコンテンツはデータベースから取得されますが、ビジネス管理者にはどのコンテンツ領域が利用可能かを知ってもらいたいです。基本的に、特定のテンプレートを選択するときのパラメーターの名前。たとえば、Joomla は各領域を定義する追加の XML ファイルを使用しますが、Wordpress はページ テンプレート内のコメントを使用して、PHP ファイルがテンプレートであることをシステムに通知します。領域を見つけるために PHP ファイルを解析する必要がないため、Joomla アプローチが好きですが、すべてのテンプレートに関連付けられた余分な XML ファイルがないため、Wordpress アプローチが好きです。私が見逃している他のアプローチはありますか?
php - Webサイトのユニットテスト
他の開発者が自分のWebサイトをどのようにテストしているのか知りたいです。特に私の場合はPHPですが、これはおそらく複数の言語にまたがっています。私は1年以上サイトで作業してきましたが、バージョン間で行う多くの回帰テストを自動化したいと思っています。
この特定のサイトはCodeIgniterにあるので、モデルのテストをいくつか行っています。ただそれらをテストするだけではありません。ただし、これは、MVC以外の開発者でも対処しなければならなかった問題だと確信しています。
編集:私のテストの要望の多くを満たす機能は、スクリプト処理の最後にパラメーターが特定の値を持っていることを表明する機能だと思います。私の場合、多くのロジックがコントローラーにあり、それが私がテストしたい主要な領域です。
php - CodeIgniter のインストールの問題
共有ホスティング アカウントで CodeIgniter を動作させるのに問題があります。URL はhttp://test.tallgreentree.comです。.php エラーは表示されませんが、アドレス バーに入力したすべてに対して 404 ページが表示されます。
これが私のconfig.phpファイルの始まりです。
サブドメインで CodeIgniter を使用する場合の既知の問題はありますか? 何が原因でしょうか? 複数の構成を試しましたが、何も機能していないようです。ホスティング プロバイダーに確認する必要があるサーバー設定は何ですか?
お時間をいただき、ご協力いただきありがとうございました。
php - codeigniterでこのRESTfulURLを生成/解析するにはどうすればよいですか?
私はMVCに不慣れで、RESTfulであり、CodeIgniterです。私は暇なときにそれらに取り掛かろうとしているので、これは主に学術的な質問です。特定のホテルの特定のホテルの部屋の空き状況を表示するURLを作成しようとしています。これを行うためのRESTfulな方法は次のようになると思いました。
- 「ホテル」がコントローラー
- 「2」はホテルIDです
- 「RoomAvailability」はメソッドです
- 「3」はルームIDです
これを処理するために、codeigniterでコントローラーをどのように設定しますか?現在、私は次のいずれかを実行できると考えています。
- RoomAvailability()メソッドにリダイレクトするには、mod_rewriteで何かを実行します
- index()メソッドで何かを実行し、RoomAvailability()メソッドにリダイレクトします
本当にこれはかなり一般的な質問です。私は次のことを実行できるようにしたいだけです。
http://url/model/method-argument/method-name/more-method-arguments
私は正直なところ、何を使用するかを見つけるための検索用語を思い付くのに苦労しています(RESTfulとCodeIgniterを除いて、あまり役に立ちませんでした0。
私は本当にガイダンスを探しています。誰かが私のコントローラーを書いてくれるわけではありません。また、私が探しているこのURLがひどいものであり、RESTfulではない場合。より良い方法をお気軽にご指摘ください。
php - CodeIgniterHelloWorldの例を機能させる
みんな私はコードイグナイターの初心者です..このフレームワークの使い方がわかりません。ユーザーガイドを開くだけです。コードイグナイターで「helloworld」プログラムを実行するために従う必要のある手順を教えてもらえますか?