INASOFT 管理人のひとこと


フリーソフトダウンロードサイト「INASOFT」の管理人 矢吹拓也 が日々の「ひとこと」を語るページです。
2021年1月1日より、旧ブログ(blog.inasoft.org)からお引越ししました。
・INASOFT Webサイト: https://www.inasoft.org/
・管理人のふたこと(長文記事/寄稿文): https://www.inasoft.org/talk/
2022年7月下旬より再び本業多忙化してきているため、更新頻度は落ちます。 [2022/7/24 19:32]

目次 | ←前へ / 2013-02-08 00:00 / 次へ→ / 最新へ⇒

■PHPの非奨励警告に従ってみた

2013年 2月 8日(金) 0:00:00 [さくらのブログから転記]



RSSRSS配信中
https://www.inasoft.org/



利用しているPHPのバージョンが、レンタルサーバ導入時点での最新版の状態に留まっていたので、現在の最新版へ移行しました。
特に問題は起きなかったのですが、PHPのマニュアルを見てみると、いくつか非奨励となっていた関数があるとのこと。

具体的には、次の2つです。

・mysql_~~() ⇒ mysqli_~~() への移行を奨励
・ereg_~~() ⇒ preg_~~() への移行を奨励


■参考(PHPマニュアル)
 mysql_connect
 http://php.net/manual/ja/function.mysql-connect.php
 ereg_replace
 http://php.net/manual/ja/function.ereg-replace.php
 PHP:データベースに関する問題
 http://www.php.net/manual/ja/faq.databases.php#faq.databases.mysql.deprecated
 POSIX 正規表現との違い
 http://www.php.net/manual/ja/reference.pcre.pattern.posix.php

せっかくなので、これを機会に、奨励関数への置き換えも行うことにしました。

単純に関数名を置き換えれば済むものもあれば、そうでないものもありました。

・mysql_~~() ⇒ mysqli_~~() への移行を奨励

そのまま移行できるのは、最初のmysql_connect()⇒mysqli_connect()くらい。
あとは、クエリ・エラー処理・クローズの各関数を使う際、引数として、mysqli_connect()から得られた戻り値($link)を必ず与えてやる必要があります。(mysql系ではオプションだった)
また、mysqli_select_db()ではmysql_select_db()と比べて、さりげなく引数の順番が変わってる(他のmysqli系関数と合わせている)ので注意が必要。


・ereg_~~() ⇒ preg_~~() への移行を奨励


自分の所では、ereg_replace()しか使っていませんでしたので、比較的ラクチンでした。
preg_replace() への置換では、ereg_replace() を書いていた箇所に対して、第1引数のパターン指定の前後に /(スラッシュ)を付けて、さらに、パターン文字列内に / が使われていたら \/ に置換すれば良いようですね。
ただのマッチングや、大小英字無視等オプション指定等についても注意が必要ですが、自分の所では使っていないので、特に気にせず。

こういうのは、非奨励関数が廃止される前や、開発規模が大きくなって被害が大きくなる前に対処してしまうのが一番ですね。





目次 | ←前へ / 2013-02-08 00:00 / 次へ→ / 最新へ⇒


目次の表示:


ブログではないので、コメント機能とトラックバック機能は提供していません。ご質問・ご意見等はメールフィードバックまたはTwitter等からお願いします。いただいたご質問・ご意見などは、この「管理人のひとこと」の記事に追加、あるいは新規の記事にする形で一部または全文をそのまま、あるいは加工させていただいた上で、ご紹介させていただく場合があります。
当サイトでは掲載内容による不具合等に関する責任を持ちません。また、内容の正確性についての保証もありませんので、情報をご利用の際は、利用者の自己責任で確認をお願いします。本ページは公開から1年半後の任意のタイミングで削除される予定です。


- 最近の更新 -



3212701 (+0050)[+0348]

Copyright© 2010-2024 INASOFT