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

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

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

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

Q&A

解決済

5回答

2783閲覧

アロー演算子、クラス、オブジェクトについて

raterate

総合スコア12

PHP

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

0グッド

0クリップ

投稿2018/01/04 06:01

アロー演算子、クラス、オブジェクトについて教えていただきたいです。

googleなどでいろいろ調べてみましたが、
自分が理解できるような回答は見つかりませんでした。

アロー演算子
→代入ではなく参照している?

クラス
→設計図?
( HTMLのCSSとの考え方は違う?)

オブジェクト
→HTMLでいうCSSのような役割を果たしているのか?
またインスタンスとも呼ばれている?

調べた内容は、
初心者でもわかるような回答ではなく、
ある程度の言葉等をわかっている状態での回答文でした。

上記言葉に対して教えてください。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

iwamoto_takaaki

2018/01/04 07:44

情報処理試験の勉強とかでしょうか?なんで調べることになったかによって応え方が違う気がします。
guest

回答5

0

つきつめていくと概念の問題なので書いてある通り理解するしかないと思います
へんに説明しても余計わからなくなると思いますけどね・・・

うまく理解してもらえないかもしれませんが一応以下の通り

  • アロー演算子は「の(of)」です。

$a->bは$a「の」プロパティbを指します。
アロー演算子自体は参照でも代入でもなくあくまでも「の」でしかありません。

php

1class hoge{ 2 function __construct(){ 3 $this->b=100; 4 } 5 function c(){ 6 return 300; 7 } 8} 9 10$a=new hoge; 11print $a->b;//参照 12$a->b=200;//代入 13print $a->b;//参照 14print $a->c();//実行結果を参照 15
  • クラスは機能があつまったものです。

エクセルやワードなどアプリケーション的なものだと思えばよいでしょう。
私個人のイメージとしては自動販売機のような感じです。
自分はお金を入れてボタンをおすと、それに対応するものがでてくるし
正しい手続きをとらなければ、エラーがでたり、なにも起きなかったりします。

  • オブジェクトは「もの」です

上記例にあげたクラスhogeをうけた$aもオブジェクトの一つです
(この場合$aはインスタンスとなります)
オブジェクト自体は広義にも狭義にもいろんな意味をもちますので
全部ひっくるめても「(なんとなく)もの」と認識するしかありません。

投稿2018/01/04 06:28

yambejp

総合スコア114839

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

raterate

2018/01/04 07:59

yambe.jpさん いつもご回答誠にありがとうございます。 コードについては、 完璧に読めていないですが、 記述していただき誠にありがとうございます。 今後理解が深まったときに、読み直すことができそうです。 >$a->bは$a「の」プロパティbを指します。 >アロー演算子自体は参照でも代入でもなくあくまでも「の」でしかありません。 →非常にわかりやすいです。勉強になります。 >〜〜全部ひっくるめても「(なんとなく)もの」と認識するしかありません。 →こちらも深く考えずに理解できそうです。 前回質問した時のものと重なるのですが、 【 $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 】 の読み方は、 $dbhの内容で間違いがあれば、setAttribute属性を使用してエラーを出す。 という読み方で良いのでしょうか?
yambejp

2018/01/04 08:19

> 【 $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 】 > の読み方 DBへの接続情報のインスタンスである$dbhに対して setAttributeメソッドで、エラーモードに対して例外モードを設定している ・・・と考えるとよいでしょう。 システム側(ライブラリ側)で用意されているメソッド名は大抵標準化されており setAttribute()はその名の通り「属性をセットする」メソッドだと容易に想像できる 命名になっています
raterate

2018/01/04 09:53

yambe.jpさん ご回答ありがとうございます。 >>「例外モードを設定している」 →意味がスッっと入ってきました。 少しづつですが、理解ができている感じがします。 毎回教えていただきありがとうございます。
guest

0

オブジェクト指向とは概念が理解できないと、言葉だけ学んでも理解がすすみません。で、概念を理解しようとすると、ある程度のプログラミングができるか、プログラムを概念として捉えるスキルが必須となります。

カギは、オブジェクトの抽象化にあるんですが、その利便性や使用方法/パターンを理解するために、【経験が必要となるのです。

正直、片足がまだ初心者枠に入っているので、私も偉そうなことを言える状況ではないのですが、同じく結構な時間を悩んだので、記述しました。

多分一番の近道は、素の php である程度自在にコードが書けるくらいまでがんばり、その後、オブジェクト指向に関して、キチンと体系的に学び、さらに、フレームワーク等のきれいなプログラムを大量に読むことだと思います。

私は中途半端にいろいろ知識を仕入れたため、かなり遠回りしました。
がんばってください。

投稿2018/01/04 08:02

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

raterate

2018/01/04 08:10

te2jiさん とても貴重なご回答誠にありがとうございます。 te2jiさんのおっしゃっている通りだと思います。 自分は今自分がやりたいことに向かっているはずだと思いますが、 今はそのやりたいことだけに必要な知識を勉強しております。 (現段階では広く浅く) やはりどこかのタイミングで、 ・時間をかけてじっくりやりこむ(経験を積む) ・一つ一つの考え方、概念を理解する を取り入れないといけないと感じました。 貴重なアドバイスありがとうございます。
guest

0

素直に、本を買う、プログラミング講座を受けるなどの方法で、体系的な知識をつけることをおすすめします。

「クラス」や「オブジェクト」などはオブジェクト指向の基本となる概念ですので、このあたりをいい加減にしたまま先に進んでしまうと、あとあとまで影響することがあります。

投稿2018/01/04 06:18

maisumakun

総合スコア145184

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

raterate

2018/01/04 06:21 編集

教本を買っているのですが、意味は書いていなくて、 接続するためにはこのような記述で接続! 〜〜〜〜〜 〜〜〜〜〜 とずらずらーとしか書いていません。 いきなり難しい言葉が出てくるので、前に進むことができない状況です。 なんどもすいません。。
maisumakun

2018/01/04 06:22

「習うより慣れろ」で、コードを書いて動くようにする中で感覚として身につけていく、という手段もなくはないですが、それが合うかは人によります。
raterate

2018/01/04 06:24

わかりました。 厳しいご指摘、誠にありがとうございます。
maisumakun

2018/01/04 06:26

となると、その本自体が「他の分野のプログラミングをやっている人向けに、PHPだけ学ぶ」ような本だという可能性もあります。
raterate

2018/01/04 07:55

maisumakunさんのように、 phpだけ学ぶ本かもしれません。。。 でも以後、気をつけながら参考書選びができそうです。 ありがとうございます。
guest

0

プロや指導者や苦労して理解した人たちの分かりやすい解説がたくさん溢れる中、それを読んでもわからない人にここでわかりやすく説明するのは至難の業です。
ですので別の方法をお勧めします。

一緒に勉強する初心者の仲間を見つけてください。
そして同じ教材で同じところを顔突き合わせて勉強しましょう。
これで余程のことがない限りマスターできるはずです。

投稿2018/01/04 06:28

Zuishin

総合スコア28660

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

raterate

2018/01/04 07:54

ご回答ありがとうございます。
guest

0

ベストアンサー

アロー演算子
→代入ではなく参照している?

これはインスタンスのメンバーを表現するための「書き方」です。
単なる文法だと思って覚えてください。
たとえば$cat->colorという書き方は「$catという変数に入っているインスタンスのcolorというメンバー」という意味です。

クラス
→設計図?
( HTMLのCSSとの考え方は違う?)

はい。インスタンスの設計図のようなものです。
PHPのクラスは、HTMLに出てくるclass属性やCSSとは全く関係ない概念です。

オブジェクト
→HTMLでいうCSSのような役割を果たしているのか?

いいえ、CSSとは全く異なります。
オブジェクトは非常に広い意味を持つ単語であり「こういう意味だ」と断言はできません。
しかしPHPのオブジェクト指向入門という文脈では、インスタンスと同じ意味の単語だと思っておけばほぼ間違いありません。

投稿2018/01/04 06:58

ku__ra__ge

総合スコア4524

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

raterate

2018/01/04 07:53

ku__ra__geさん 非常にわかりやすい回答誠にありがとうございます。 これで文法を読むことやある程度の意味を理解しながら 進めていけそうです。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問