タグ付けされた質問 「php」

PHPは、主にサーバー側のWeb開発用に設計された、広く使用されている、高レベルで動的なオブジェクト指向の解釈されたスクリプト言語です。PHP言語に関する質問に使用されます。

7
PHPUnitを使用してPHPヘッダーをテストする
PHPunitを使用して、カスタムヘッダーを出力するクラスをテストしようとしています。 問題は私のマシンではこれです: <?php class HeadersTest extends PHPUnit_Framework_TestCase { public function testHeaders() { ob_start(); header('Location: foo'); $headers_list = headers_list(); header_remove(); ob_clean(); $this->assertContains('Location: foo', $headers_list); } } またはこれさえ: <?php class HeadersTest extends PHPUnit_Framework_TestCase { public function testHeaders() { ob_start(); header('Location: foo'); header_remove(); ob_clean(); } } このエラーを返す: name@host [~/test]# phpunit --verbose HeadersTest.php PHPUnit …

15
不正なバイトカウント長によって破損したシリアル化された文字列を修復する方法は?
画像アップロードプラグインでHotaru CMSを使用していますが、画像を投稿に添付しようとするとこのエラーが発生します。それ以外の場合はエラーは発生しません。 unserialize()[function.unserialize]:オフセットでのエラー 問題のあるコード(エラーは**と一致しています): /** * Retrieve submission step data * * @param $key - empty when setting * @return bool */ public function loadSubmitData($h, $key = '') { // delete everything in this table older than 30 minutes: $this->deleteTempData($h->db); if (!$key) { return false; } $cleanKey = preg_replace('/[^a-z0-9]+/','',$key); if …


3
Web MVCアプリケーションにアクセス制御リストを実装するにはどうすればよいですか?
最初の質問 簡単なACLをMVCに実装する方法を教えてください。 コントローラでAclを使用する最初の方法は次のとおりです... <?php class MyController extends Controller { public function myMethod() { //It is just abstract code $acl = new Acl(); $acl->setController('MyController'); $acl->setMethod('myMethod'); $acl->getRole(); if (!$acl->allowed()) die("You're not allowed to do it!"); ... } } ?> これは非常に悪いアプローチであり、マイナスなのは、Aclコードを各コントローラーのメソッドに追加する必要があることですが、追加の依存関係は必要ありません。 次のアプローチは、すべてのコントローラーのメソッドを作成し、コントローラーのメソッドprivateにACLコードを追加する__callことです。 <?php class MyController extends Controller { private function myMethod() { ... …

4
Symfony 2 EntityManagerインジェクションインサービス
独自のサービスを作成し、Doctrine EntityManagerを挿入する必要がありますが、それが__construct()サービスで呼び出されていることがわかりません。インジェクションが機能しません。 コードと構成は次のとおりです。 <?php namespace Test\CommonBundle\Services; use Doctrine\ORM\EntityManager; class UserService { /** * * @var EntityManager */ protected $em; public function __constructor(EntityManager $entityManager) { var_dump($entityManager); exit(); // I've never saw it happen, looks like constructor never called $this->em = $entityManager; } public function getUser($userId){ var_dump($this->em ); // outputs null } …


11
ドロップダウンを使用した場合、SQLインジェクションを防ぐ必要がありますか?
主にSQLインジェクションが発生する可能性があるため、フォームからのユーザー入力は絶対に信頼しないでください。 ただし、これはドロップダウンからの入力のみのフォームにも適用されますか(以下を参照)? 私は$_POST['size']、セッション全体を保存して、サイト全体で(mysqli選択クエリを使用して)さまざまなデータベースにクエリを実行します。SQLインジェクションを実行すると、データベースに悪影響が及ぶ可能性があります(ドロップされる可能性があります)。 入力されたユーザー入力でデータベースをクエリする領域はなく、ドロップダウンのみです。 <form action="welcome.php" method="post"> <select name="size"> <option value="All">Select Size</option> <option value="Large">Large</option> <option value="Medium">Medium</option> <option value="Small">Small</option> </select> <input type="submit"> </form>

16
PHPシステムのローカルIPを取得する方法
192。* ....のようなコンピューターのローカルIPを取得する必要があります。これはPHPで可能ですか? スクリプトを実行しているシステムのIPアドレスが必要ですが、外部IPは必要ありません。彼のローカルネットワークカードアドレスが必要です。
96 php  ip-address 



4
何が速いですか:in_arrayまたはisset?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。私たちは回答が事実、参考文献、または専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張された議論を誘います。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 安い低速サーバー(または大量のトラフィックを持つサーバー)でも実行できる最適化されたコードを常に書きたいので、この質問は単に私にとってのものです。 周りを見回したが答えが見つからなかった。私の場合、配列のキーは重要ではない(当然のことながら擬似コードです)ことを念頭に置いて、これらの2つの例の間で何が速いのか疑問に思いました。 <?php $a = array(); while($new_val = 'get over 100k email addresses already lowercased'){ if(!in_array($new_val, $a){ $a[] = $new_val; //do other stuff } } ?> <?php $a = array(); while($new_val = 'get over 100k email addresses already lowercased'){ if(!isset($a[$new_val]){ $a[$new_val] = true; //do other stuff } } …


18
オブジェクトメソッド内からオブジェクトプロパティにどのようにアクセスしますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。私たちは回答が事実、参考文献、または専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張された議論を誘います。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 8年前に閉鎖。 ゲッター/セッターメソッドではないオブジェクトメソッド内からオブジェクトのプロパティにアクセスするための「純粋な」または「正しい」方法は何ですか? オブジェクトの外側からはゲッター/セッターを使用する必要があることは知っていますが、内側からは次のようにするだけです。 Java: String property = this.property; PHP: $property = $this->property; またはあなたはそうします: Java: String property = this.getProperty(); PHP: $property = $this->getProperty(); Javaが少しずれていても許してください。Javaでプログラミングしてから1年になります... 編集: 私がプライベートまたは保護された変数/プロパティのみについて話していると人々が想定しているようです。オブジェクト指向を知ったとき、それがパブリックであっても、すべてのプロパティにゲッター/セッターを使用するように教えられました(実際、変数/プロパティをパブリックにしないように言われました)。それで、私は最初から間違った仮定から始めるかもしれません。この質問に答える人々はおそらくあなたは公共の財産を持っているべきであり、それらはゲッターとセッターを必要としないと言っているようです上手。それはおそらく別の質問に適したトピックでしょう...
96 java  php  oop  theory 

3
Doctrineと複合固有キー
教義で複合固有キーを作成したいと思います。それらは私の分野です: /** * @var string $videoDimension * * @Column(name="video_dimension", type="string", nullable=false) */ private $videoDimension; /** * @var string $videoBitrate * * @Column(name="video_bitrate", type="string", nullable=false) */ private $videoBitrate; 一緒に結合されたものが複合固有キーであることをどのようにして教えますか?

1
PHPタイプのヒントで「キャッチ可能な致命的なエラー」をキャッチするにはどうすればよいですか?
私のクラスの1つにPHP5のタイプヒントを実装しようとしています。 class ClassA { public function method_a (ClassB $b) {} } class ClassB {} class ClassWrong{} 正しい使い方: $a = new ClassA; $a->method_a(new ClassB); エラーの生成: $a = new ClassA; $a->method_a(new ClassWrong); キャッチ可能な致命的なエラー:ClassA :: method_a()に渡される引数1はClassBのインスタンスでなければなりません。指定されたClassWrongのインスタンス... そのエラーをキャッチすることは可能ですか(「キャッチ可能」と表示されているため)?はいの場合、どうやって?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.