質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.53%

  • PHP

    20256questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • MySQL

    5833questions

    MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP開発に当たる上での思考力

解決済

回答 2

投稿

  • 評価
  • クリップ 1
  • VIEW 269

SayakaxxSakura

score 12

初めまして、コーディング歴4年、PHP歴1年目のプログラミング初心者です。

プログラムを覚えよう!となった時、普段からHTMLとCSSを用いて
サイト製作を行っていたのもあり、PHPから始めるのが一番理にかなっている思い始めました。

まずは、ドットインストールさんで無料で受けれる全ての講習を受け
その後、ProgateさんにてPHPコースを3周ほどしました。

その後、PHPでのオブジェクト指向プログラミングを主とした書籍や、
会員機能を作るという事を目標とした書籍(どちらも3000円程度)合計3冊
を購入し、ひとまず全て2周を終え、業務でもCodeigniter3を用いて
Webアプリケーションを作成済みです。

それでも、全て書籍に乗っているソースを映しただけのコードであったり
QIITA等で掲載している、コードをそのままコピペしただけであったり
それじゃだめだと思い、1からプログラミングしてエラー文と向き合う癖を
つけてはいるのですが、いつまで経っても身に付きません。
例えば、「会員認証機能」を作りなさいと言われて、必要機能の抜出しをしてみるのですが

1.ユーザー名とパスワードが一致するかどうか。
2.パスワードは、セキュリティの為ハッシュチェックを行う。
3.DBに登録した値を編集できる事。
4.登録した値を削除できる事。

ぐらいしか思いつかず、調べに行くと、DBの処理やそもそもの設計段階で
必要機能が足りないという事が多いです。

オブジェクト指向プログラミングなども、書籍や参考サイトがあれば何となく、「あーこうなっているからこうなるんだよね」と”わかった風”に理解はできていますが、
やはり、何もない状態で一から組みなさいと言われるとクラス定義すらできなくなります。

メールフォームも何度も作成しているのに、作ったコードを見ながら出ないと
作成ができません。

「なぜ?これで動くのか?」と思い、アドバイスをもらえれば10分で済むことが
調べ続けてはまって丸1日はざらにあります。

自分の勉強方法が間違っているのかと思い、ずっと迷走しています。
先輩エンジニア、プログラマの皆さんが普段、どのようにして言語に触れているのか
どういう思考でプログラミングを行っているのか、少しでも教えて頂けると幸いです。

プログラミングが好きで、自分の作りたいものなどがたくさんあるのに対して、
自分の考え方や覚えが悪く非常に悔しい毎日を送っています。

よろしくお願いいたします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

+3

phpの専門家というよりも、phpをいじる仕事で辛うじて生きている人の戯言。

php以外の言語もあれこれいじくり倒している都合上、
文法や構文、使用する関数の引数など(うろ覚えな)不安要素が度々あるので、
割とググる。結構ググる。
エラーに遭遇したときのエラーメッセージでググる。
実現させたいことを3つ4つのキーワードに落とし込んでググる。
事例やドキュメントやリファレンスを探して間違わないようにする。
php技術者認定とか取るわけじゃないから、
探し方さえ間違わないようにすれば仕事上は差し支えない。

例えばメールフォームもいろいろあります、
最近teratailで流行ってる(?)PHPMailerを使う方法、
mb_send_mailを使う方法、その他いろいろ。
たいていどこかに事例があります、ホントもウソも含めて。
真似する、試す、適切に動くようにできたらノウハウにまで高める、
自分の引き出しにしまっとく、
解決した処理した、あとはオシマイとするか、
別の手もあるかもしれないと調べるかも自由だ。

他人の書いたコードが読める人は強い。
フレームワークを構成するソースを読みこなしてクラス拡張したり。

情報の鮮度の確認も重要。
今更mysql_*系は使わずmysqli_*系を使うという話や、
phpのバージョンによって(特にphp7以降の)互換性の有無とか。
php7以降の(非推奨含む)廃止関数とか。
やっぱりググる。

ずぶの素人のときを忘れたけど、
また使えそうなアルゴリズムは別途メモしていた気もする。
一昔前ならEvernoteだったかもしれないけど
今の時代、サンプルコードを掲載するサービスはいくらでもあるようだし。
けどある時期からやめたのは、ググるようになったからかもしれない。
見つけたサンプルコードがスカスカで脆弱なこともあるので、
色んな人のコードを総合してデザインするのも必要かもしれない。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/06/25 22:03

    m6u様

    ありがとうございます。
    現場で活躍されている方でさえ、やはりググることが多いのだと
    すこし安心?しました。

    某掲示板などで、WebプログラマはQIITAに書いてあるコードをコピペするだけの
    底辺と見かけたこともあり、まさに自分のことだなと少し不安になってました。

    情報の鮮度は大事にしております。
    ですので、書籍を購入するときや、少し英語が読めるので
    なるべくリファレンスは海外のものを参照にしたりなど行っております。

    フレームワークソースを読んでクラス拡張などもやってみようと思います。

    コードの統合などもやってみて、自分だけのテンプレートを作成すれば
    何回も使っていくうちに覚えれそうな気もしますし、更にその中で
    使うソースコードの精査を行えばより良くなれそうな気がします。

    駆け出しの新米にありがとうございます。

    キャンセル

+3

覚え(記憶し)なくても良いのことなのに、覚えようとするからではない?
リファレンスの中身を丸ごと暗記している人なんていませんよ。

調べに行くと、DBの処理やそもそもの設計段階で
必要機能が足りないという事が多いです。

この辺は経験を積むしかないと思う。

メールフォームも何度も作成しているのに、作ったコードを見ながら出ないと
作成ができません。

そんなもんだと思う。実績があるならそれを流用するというのは悪ではない。下手に新しく作ってバグを注入するくらいなら、運用実績のあるコードを使うのは当たり前。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/06/25 19:07

    Shibuya様
    ありがとうございます。
    覚えなくて良い部分というよりかは、書籍や実務でその都度出てくる内部関数や処理などを
    Evanoteなどにメモしたり、その関数がどういう働きをしているのか調べたりしています。

    経験が圧倒的に足りないのは承知の上なのですが、はたしてこのままで現役でこうして回答してくれる皆様のような思考にたどり着けるのかすごく不安になります。。

    でも、確かに不必要な部分を無理に覚えようとしている部分はあると思いますので気を付けようと思います。ありがとうございます。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.53%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    ”class"を使わずPHPを使うことで困ることってありますか?

    これまでPHPを使う中で、”class"を使わなくても何も問題なくやってこれました。 過去に大規模の認知度の高いウェブサイトを手がけたこともあります。でも、特別困ることはありませ

  • 解決済

    他人の書いた良質なソースコードはどこで手に入るのか?

    初めまして。 現在クラウドファンディングサイトを作ろうと思い、PHPの勉強をしています。(まだ想像もつきませんが・・・。) プログラミングの勉強方法をネットで検索してみると、「他

  • 解決済

    綺麗なPHPコードが書けるようになりたい

    PHPを勉強中です。 タイトルの通り、コーディングに関して学ぼうと思うのですが、何かお勧めの参考書や記事はありますか? 綺麗なコードが掛けるようになりたいです。 特定のフレームワ

  • 受付中

    phpがダメと言われる理由

    いつもお世話になっております。 私は仕事しては経験1年目のプログラマです。仕事しではjavaを扱っておりました。 個人的な勉強ではPHPを勉強しています。 最近、プログラミング

  • 解決済

    phpをマスターする期間

    phpを今日から独学で勉強するのですが、phpは難しいですか? phpの文法が分かるのに何週間かかりますか?また、独学でも大丈夫ですか? ※二週間で学習することは不可能ですよね

  • 解決済

    オブジェクト指向の勉強法

    PHPを独学で勉強中なのですが、オブジェクト指向を理解するにあたり、どのように勉強を進めていけば良いでしょうか。

  • 解決済

    オブジェクト指向を身に着けたい(PHP)

    なんとかしてオブジェクト指向を身に着けたいのですが。 classを使いこなせるようになれば良いのでしょうか? 素人なものでこんな質問になってしまい申し訳ありません。 アドバイスお願

  • 解決済

    関数の引数はどこで検査するべきか

    /** * 自然数同士の足し算を行う * * @param integer $x 自然数であること * @param integer $y 自然数であること * @return i

同じタグがついた質問を見る

  • PHP

    20256questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • MySQL

    5833questions

    MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。