vestigial 2017-01-24 16:34:52

[PHP] ここまでPHPのメリットを殺せるのは天才だと思う

投稿者からのアピールポイント

今時テーブルでレイアウトするのはどうかと思うが、それはまだよい。 styleをcssを使わず、ハードコーディングしているうえ、クオーテーション使わずにダブルクオーテーションで囲って¥だらけになっているのは・・・嫌になるががまだよい。 クラスを作っているのにも関わらず、getter,setterは使わずに変数はすべてコンストラクタで取り、クラス変数で保持するのは・・・再利用が考えられていないが、こんなソース再利用しないのでどーでもいい。なぜクラスを作ったのかは謎。 一番問題なのは、html中にデータを埋め込んで簡単に画面を作れるというphpのメリットを完全に殺して、巨大な$htmlを改行、インデントなしで作って表示しているところだ PHPの初心者向けサイトでもこんな書き方しているところはないぞ。何をどう考えてこう書こうと思ったのか小一時間どころじゃなく問い詰めたい。

実物は、これの中でさらにphpファイルを読んで、そのデータの受け渡しはなぜか引数じゃなく、セッション変数でおぞましいものだったのだが、うまく表現できなかったので省略 もうこれ書いたやつにphp書かせるな。つーかコード書かせるな。

  1. -- main.php

  2. <html>

  3. <head>

  4. …中略

  5. <?php

  6. include("obj_data.php");

  7. $obj_data = new get_data($value);

  8. $output_html = $obj_data->getData();

  9. ?>

  10. <table>

  11. <?php

  12. print $output_ntml;

  13. php?>

  14. </table>

  15. <html>

  16. <head>

  17.  

  18. --obj_data.php

  19. class get_data {

  20. private $result;

  21. private $value;

  22.  

  23. __Construct($value){

  24. $this->value = $value; //略しているが、引数は10個ぐらいある

  25. }

  26.  

  27. //getter,setterは用意されていない。データが受け取れるのはコンストラクタのみ

  28.  

  29. private function getSQL(){ //ここには引数なしの関数しか用意されていない

  30. $sql = "select * from table where col = $this->value";

  31. $result = $execSQL($sql);

  32. }

  33. public function getData(){

  34. html = "";

  35. if(count($result) != 0) {

  36. html .= "<tr style=\"height:30px\">" //カンの良い諸兄ならわかるかと思うが、これではhtmlが改行されない。

  37. html .= "<tb style=\"width:200px; background-color:orange\">" //インデントももちろんない

  38. (以下、取れてきたデータでhtmlを作る千数百行のコード)

  39. html .= "</tb>"

  40. html .= "</tr>"

  41. }

  42. return html;

  43. }

  44. }

使い方ヒント: 「これは臭う」という行を見付けたら、各行のsmellをクリックしてマーキングしておきましょう(要Twitter OAuth認証)

コメント(1)

#1 7424h 2017-03-06 14:10:21  

に、2017年に至ってまでまだハードコーディングだとぅ!? なんという臭さ!やばい!!

コメント投稿には、twitter認証が必要です。

Twitter認証

このウンコードに臭った人は、こちらのウンコードにも臭ってます

* [PHP] 見た目はコメント、中身は未定義

シンタックスハイライトに騙されてしまいま...

<!-- 未定義なのでコメントアウト
<?php undefined_func...

鑑賞する »

* [PHP] ログイン処理

もう突っ込みどころが多すぎで、卒倒したソ...

<?php


/****************************...

鑑賞する »

* [C] すげーちゃんと動く!

結合試験2日前に脱退したうんkプログラマ...

return 0;

鑑賞する »