5

少しばかげた質問ですが、何か教えていただけるかもしれないと学んでいます!!

私は 5 行または 6 行の長さの mysqli クエリを持っていることがあります。最初に phpmyadmin を使用してそれらをテストし、Enter キーを押してコーディング時に確認できるように「レイアウト」します。それらをコピーしてphpファイルに貼り付けると、改行のために機能しません。

変数に追加できることを知っていて、次のようにします。

$query = "SELECT bla bla bla bla";
$query .= " FROM table ...";
$query .= " WHERE ...";

しかし、コードをレイアウトするためのより良い/より簡単な/より良い方法があるかどうか疑問に思いました。私はphpstormを使用しており、ラッピングは問題ありませんが、特定のポイントでラップする方が良いため、画面の端でラップします。

少しばかげているかもしれませんが、トリックがあるかどうかを知ってうれしいです!!

ありがとう

4

3 に答える 3

11

PHP は、どの行に何があるかはあまり気にしません。セミコロンがあるのはそのためです。また、MySQL もそうではないため、次のように簡単に実行できます。

$query = "SELECT ...
    FROM ...
    WHERE ...";

そして、それはより長いクエリに関しては間違いなく読みやすさに役立ちます!

于 2013-06-12T23:24:01.277 に答える
2

ヒアドキュメントを使用できますが、文字列の改行は問題ありません。文字列が複数行にまたがることがよくあります。ただし、ヒアドキュメントはあなたにとって良い選択です。http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc

于 2013-06-12T23:25:28.393 に答える
2

特に長い複雑なクエリに関しては、php のクエリ レイアウトにうるさいです。それだけで読みやすくなります。

私の好み

個人的にはこの見た目が好きで、

$query =
  "SELECT ".
  "    * ".
  "FROM ".
  "    people ".
  "where ".
  "    people.name = 'bob'";

文字列でブレークを使用するだけが好きではない理由

この方法では、各行の前に大量の余分なスペースがあります。多分私はこれについてあまりにもOCDですが、私は最初の方法を好みます。

$query = "SELECT
      *
  FROM
      people
  where
      people.name = 'bob'";
于 2014-08-27T04:00:26.180 に答える