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

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

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

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

PHP

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

インターフェース

インターフェイスという用語はハードウェア・ソフトウェアの両方に使うことができます。 一般的に、インターフェイスは内部処理の詳細を見せないように設定されます。オブジェクト指向プログラミングにおいて、インターフェイスはabstractクラスとして定義されます。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

Q&A

解決済

2回答

23901閲覧

現場でよく使われているIFについて

earnest_gay

総合スコア615

if

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

PHP

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

インターフェース

インターフェイスという用語はハードウェア・ソフトウェアの両方に使うことができます。 一般的に、インターフェイスは内部処理の詳細を見せないように設定されます。オブジェクト指向プログラミングにおいて、インターフェイスはabstractクラスとして定義されます。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

0グッド

0クリップ

投稿2017/02/03 08:11

編集2017/02/03 08:11

今までほとんどPHP案件をやってきたんですが、どの現場でもIFというのがほぼでてきます。

なんとなくしかわかっていないのですが
たとえば、
① お客さんが閲覧するECサイト
② ①を保守する別サイト
③ ①と②のデータのやり取りをしてあげているのがIF

という認識なのですがあっていますでしょうか?

現場入ってすぐはドキュメント熟読してますが、
DB定義書や要件定義書、基本設計所、詳細設計所は見ればそれとなくわかります。

さらにIF定義書というのがあるのですが、これは見てもさっぱりです。
さすがに社外秘なので見せられませんが、ドキュメントとしてはDB定義書と似ています。

項目物理名、項目論理名、属性(型)、バイト数、必須、形式

というように列があって行でそれぞれ定義してるみたいです。

IFがなにかよくわかっていないので、話がかみ合わないかもしれませんが
もしかしたらと思うところがあります。

前の現場ではあるデータの取り込みを担当していました。
4000行ぐらいの記述でしたが、一部を除いては全て理解していて仕様変更のソース改修にもすぐ対応できていました。
その一部とは、バッチ処理の途中(ソースの話)に
連携対象のCSVからユーザーの平文パスワードをcurl()とかいうやつでIFURLとかいうところに飛ばして、
そこで何やってるのかは知りませんが、var_dumpでの結果はそのユーザーに紐付くハッシュ化されたパスワードを取得してきているというものでした。

私の感覚としてデータの受け渡しはGET,POST,FILE,SERVERぐらい知ってれば十分だろうと思ってましたし、というかそれしか知りません。
で、そのculrというやつの結果を見て今だになんとなく感じているのは、
GET,POST,FILE,SERVERは同一サーバーの画面を跨いだデータの受け渡しに使われるのであって
curlは異なるサーバー間でのデータの受け渡しに使われるものなのかな?とか感じています。

curlを抑えればIFが理解できるのか?
というか、GET,POST,FILE,SERVERは実際に使ってきてるから詳細設計所やDB定義書も見ても

入力させる

action先かheader(URL?para=$para)に遷移する

name属性で受け取る

なんか整形するならする

受け取った値からDBレコード抽出するならする

必要なカラムに必要な値を格納する

という風にやってこれたんですが
これと同じようにIF定義書を見て、「あぁ~そういうことね、なるほど、ふむふむ」と思えるには何を理解すればよいのでしょうか?

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

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

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

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

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

guest

回答2

0

ベストアンサー

おっしゃる通り、IF仕様書は名前が示す通りインターフェイス、つまり、主に別のシステムまたはサブシステムなどからデータを連携(取得/送信)するときの仕様を定義するもので、ターゲットが違うだけでDB定義書(テーブル定義書)とほとんど似ております。

WebのAPIを使用することを考えるとわかりやすいかと思います。
例えば、Twitterのツイートを取得するAPIの場合

json

1//これは実際のAPIが返すものと違います。 2{ 3 "user" { 4 "name": 5 "profile_image_url": 6 }, 7 "text": 8 "created_at": 9}

といった感じになるかと思います。

  • "user"という項目があり、その"user"には"name"と"profile_image_url"がある。それらのデータ型はstring
  • "text"という項目があり(ツイート本体)、データ型はstring
  • "created_at"という項目(ツイート日時)があり、データ型はstringでフォーマットは"yyyy/mm/dd hh:mm:ss"

このようにデータの内容にどういった項目があり、それぞれのデータ型、または文字列などのフォーマット形式などの定義が書かれています。

また、単にデータのやり取りだけではなく追加や更新、削除(CRUD)に関しても書かれているのもあるでしょう。どれをキーにしているか、コマンド名(URLパス)は?といった定義も含まれます。

投稿2017/02/03 08:45

編集2017/02/03 09:06
turbgraphics200

総合スコア4269

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

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

0

機能間の連携やシステム間の連携の仕様書だと思います。
システム間でデータの連携だとかデータをやり取りする際に
データの形式や通信方法など取り決めておく必要があると思います。

おそらくサイト①の処理の途中でサイト②に(curlやajaxなどを使って)POST送信したりしているのではないでしょうか。
IF定義書にはPOSTデータの項目について書かれているのだと思います。(あるいはPOSTでJSONデータを送信しているのであればJSONデータの項目について)
また②から①にもPOSTに対するなんらかのレスポンスデータを返すのでそのデータの定義も必要です。

IF定義書があれば、サイト②の開発者はサイト①のソースコードを読まなくても、IF定義書にだけ目を通せばどのようなデータがPOSTされてくるのかというのが一目でわかるので、そのための資料と考えれば良いと思います。

投稿2017/02/03 08:58

編集2017/02/03 09:03
redara

総合スコア344

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問