
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
PHP5.3からの名前空間における新機能ですね。
http://www.php.net/manual/ja/language.namespaces …
requireは、外部のファイルを読み出してくるもので、
useは、すでに定義された名前空間のものを利用するのに使います。
-----Test.php-----
namespace Test;
class Cat{......}
-----------------
----index.php------
require 'Test.php'; //ファイルを読んでから
$cat = Test\Cat(); //と名前空間で呼び出してもよいが、ちょっと長いので、
use Test\Cat;
$cat = new Cat(); //とすれば短くかける
-----------------
基本的に、エイリアス(ショートカット)です。
Windowsなどのファイルパスの記述に似てます。
毎回、階層深いフォルダを開いて行って、実行ファイルを起動するより、
いつも使っているデスクトップなどにショートカットを置いておいてそこから実行ファイルを起動する
というような感じです。
あれ?その例だと
require 'Test.php'; //ファイルを読んでから
$cat = new Cat();
と名前空間なしで2行でもいけるのでは?
ショートカット的というイメージには賛成です。つかいこなせれば絶対パスのわずらわしさの代わりになりそうですね。
ただ、それ以外のメリットや効果がいまいちよくわかりません。
まず、これはディレクトリ構造に対応した階層構造にしないといけないのか、それとも勝手に階層序列や階層名を創造しても働くものなのか、とか、requireのように玉突き的に引っ張ってくる対象をつなげれるのか(つなげれない、と公式にはかかれていたような気がしますが、だとするとrequireの方が便利じゃん、ということになる)とか、あるファイル内で定義した名前空間を他のファイルでuse指定するとなぜインクルードできるのか(各ファイル内の定義情報を知るには各ファイル内を見ないといけないのではないかと思うのですが、そうすると全ファイルの中身を検索して名前空間のチェックをかけてひっぱってくるとかいうことをやっているのか?そんな自動全検索をしているとするならば、名前空間の使用をuseで書いてやらなくても、ソース内でいきなり相対指定パスでクラスを読み出せたりできるんじゃないの?)とか。
ありがとうございます。
No.2
- 回答日時:
トレイトのことなら・・
ファイルではなくクラスにクラスの機能を読み込むものです。
PHP: トレイト
http://www.php.net/manual/ja/language.oop5.trait …
参考URL:http://www.php.net/manual/ja/language.oop5.trait …
No.1
- 回答日時:
php公式 には use という関数は有りません。
たぶん、フレームワークとかpearとか、それともだれかのライブラリで提供されてるユーザー定義関数でしょう。どこに定義されてて、何やってる関数なのかは、あなたのお使いのファイルを調べるしかありません。
require や include は関数のように記述しますが、phpの制御構造です。
http://jp.php.net/manual/ja/function.include.php
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 初心者です。gulpでコンパイルができないので教えてください! 1 2023/05/17 17:07
- 英語 移動可能な電話を借りる、use は使えますか? 4 2022/06/01 16:56
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- 英語 How welding robots were being used. (溶接ロボットの使用方法) 4 2022/09/08 16:41
- ドライブ・ストレージ 外付けHDDを購入し、接続をしたのですが、デバイスマネージャーのディスクドライブにはBUFFALO 4 2022/07/13 18:29
- 英語 The majority of currently available reviews focus 8 2022/08/07 05:55
- 日本語 格助詞について 2 2022/08/18 12:42
- 英語 The crestal approach works well in single or two a 2 2022/04/19 18:59
- その他(プログラミング・Web制作) laravel 本番環境でメールが送れません。 1 2023/02/17 17:57
- 英語 alcohol can be any of a food a drug or a poison de 4 2022/08/18 23:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
.phpと.incファイルの違いはな...
-
session_start()でwarningが表...
-
複数の添付ファイルの受信について
-
JavaScriptからPHP実行
-
XMLタグ情報取得
-
PHPファイルの中身が見られるこ...
-
[PHP+XML]PHPで動的に出力す...
-
cronで動かすと保存されなくなる
-
1つのファイルにデザイン(HTML...
-
thtmlファイルとはどんなファイ...
-
【file_exists】ファイルが存在...
-
LimeSurveyのアンケート画面に...
-
phpinfoの内容が見れない
-
phpで外部ファイルを取り込み変...
-
phpからImageMagickの使い方
-
htmlspecialcharsが機能してい...
-
サーバー間のファイルの移動(コ...
-
PHPのif文でその処理を途中で抜...
-
FTPコマンドでディレクトリごと...
-
PHPについて質問です!!
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
.phpと.incファイルの違いはな...
-
【file_exists】ファイルが存在...
-
.phpファイルが、表示されない
-
session_start()でwarningが表...
-
サーバー間のファイルの移動(コ...
-
URLが.PHPってどういう...
-
apacheで拡張子を省略してアク...
-
PHPを使ってのサーバ上ファイル...
-
file(), file_get_contents(), ...
-
「temp.ppd」という添付ファイル
-
コマンドプロンプト エラー
-
fputs()はfwrite()のエイリアス...
-
use と requireの違いは?
-
PHPでフォルダ選択ダイアログを...
-
バイナリーデータをGIFで表示さ...
-
Xamppでindex.phpだけしか表示...
-
PHPファイルの中身が見られるこ...
-
sqlite_open、SQLite3::open
-
HTMLに埋め込んだPHPがうまく出...
-
phpでgifアニメかどうかチェッ...
おすすめ情報