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

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

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

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

PHP

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

Q&A

解決済

2回答

483閲覧

サイト設計において、共通するデータの取扱いについてご意見をお聞かせください。

chapp

総合スコア233

MySQL

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

PHP

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

0グッド

1クリップ

投稿2020/06/26 04:04

お世話になります。
表題の通りですhが、サイト設計において、共通するデータの取扱いについてご意見を頂戴したく投稿いたします。

PHPとMySQLの組み合わせでウェブアプリを作ることがよくありますが、サイト名をはじめ、メール送信時の送信元となるメールアドレス、そのメールのフッターの文言など変更が頻繁にないデータは、ファイル内で管理し各データを変数に与えており、利用時にその変数を読みこむ仕組みを作りがちです。

その理由も、サーバーへの負荷などを考えたとき、極力データベースの参照は控えた方が良いだろうという思いからです。

とはいえWordpressは全てデータベースで管理されていると思われます。

もちろん、各テーブルの構成やSQL文によっても回答は異なってくるとは思うのですが、データの取扱いについて、皆さまのご意見を頂戴したく投稿しました。

新しいサイトを作る度に、「どちらが良いんだろう?」と悩んでしまいます。
お忙しい中恐縮ですが、ご意見のほど頂戴出来れば幸いです。
よろしくお願いいたします。

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

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

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

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

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

hentaiman

2020/06/26 08:12

サーバーへの負荷という言葉が曖昧です 具体的にどういった負荷を気にしていますか?
guest

回答2

0

ベストアンサー

ファイル内で管理し各データを変数に与えており、利用時にその変数を読みこむ仕組みを作りがちです。

その理由も、サーバーへの負荷などを考えたとき、極力データベースの参照は控えた方が良いだろうという思いからです。

データベースであれ設定ファイルであれ、初期処理で一度きりの参照にするようにする等で、アクセス頻度を下げる事が出来ます。

一元管理を主体に考えるなら、そうなるような工夫はいくらでも出来ると思います。

個人的にはデータソースとして極力DBに情報を持たせます。
理由として、ファイルにしか情報が無い場合に、SQLでそれを利用ようとしてもSQL単独では処理できなくなるからです。
メンテナンスやリカバリーの場合に結構手間だったりしますので。

投稿2020/06/26 04:22

編集2020/06/26 04:46
sazi

総合スコア25173

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

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

chapp

2020/06/26 15:27

saziさん 貴重なアドバイスをありがとうございます。 >ファイルにしか情報が無い場合に、SQLでそれを利用ようとしてもSQL単独では処理できなくなるからです。 >メンテナンスやリカバリーの場合に結構手間だったりしますので。 おっしゃる通り、ファイルで管理してるとこういった場面に出くわします。 >個人的にはデータソースとして極力DBに情報を持たせます。 この言葉で安心いたしました。 見直してみます。ありがとうございました。
guest

0

色々方法ありますが、自分の場合は、defines.php的なファイルを作って、それをrequire()で読み込んで使います。

php

1<?php 2// defines.php 3$mail_address = "hoge@example.com";

php

1<!-- index.php --> 2<?php require('defines.php'); ?> 3 4<!-- 省略 --> 5 6お問い合わせ先:<?php echo $mail_address ?>

例2

php

1<?php 2// defines.php 3class Defines 4{ 5 const mail_address = "hoge@example.com"; 6}

php

1<!-- index.php --> 2<?php require('defines.php'); ?> 3 4<!-- 省略 --> 5 6お問い合わせ先:<?php echo Defines::mail_address ?>

下の方は若干自信なしです。

投稿2020/06/26 04:05

編集2020/06/26 04:43
kyoya0819

総合スコア10429

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

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

kyoya0819

2020/06/26 04:17 編集

これの欠点は、プログラミングに詳しくない人が自由に変更できないことです。
kyoya0819

2020/06/26 04:23

あと、これ、WPじゃほぼ使わないですね。 上の欠点が大きすぎるんで。
miyabi_takatsuk

2020/06/26 04:26

スタティックなクラスに、 constでプロパティ宣言すれば、定数群っぽく実装できてよりよいかもですね。 (ただ、よりプログラミングに詳しくないとできなくなる)
kyoya0819

2020/06/26 04:32 編集

微妙にクラスの命名で迷います。。。。
miyabi_takatsuk

2020/06/26 04:35

確かにw ConstValuesとか、 Definesとかですかね。 (↑英語弱いのを露呈させていくスタイル)
chapp

2020/06/26 15:17

asuchi0819さん 投稿後、早々のアドバイスをありがとうございます! 例2、、なるほど、勉強になります。例1はまさに普段使っている方法です。
kyoya0819

2020/06/26 15:27 編集

「個人的には」例2はこのレベルではそんな必要か?と思いますが、(規模が大きかったら別です)勉強のために取り入れてみるのもありだと思います。
chapp

2020/06/26 15:29

ありがとうございます。勉強させていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問