お世話になっております。
composerを使ってクラスをautoloadする環境を作ろうとしたところ躓いてしまったので、ご助言いただきたいです。
こちらのサイトを参考にさせて頂いています。
素のPHPでも最低限.envとmonologくらいは使う際の手順
やりたいこと
autoloadでClassフォルダ内Sample名前空間を呼び出せるようにし、test.phpからsampleClassを利用したいです。
エラー内容
$ php test.php hoge Fatal error: Uncaught Error: Class 'Sample\sampleClass' not found in /Users/username/php/ebay/test.php:19 Stack trace: #0 {main} thrown in /Users/username/php/ebay/test.php on line 19
やったこと
- composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Generating autoload files
- composer dump-autoload
Generated autoload files containing 0 classes
- クラスをnewするとき括弧をつけてみる。 - test.php の use をuse Sample;にしてみる。 ### コード ** ./Classes/Sample.php ** ```php <?php namespace Sample; class sampleClass{ public function Hello() { echo "Hello Sample\n"; } }
** ./composer.json **
json
1{ 2 "require": { 3 "vlucas/phpdotenv": "^3.4", 4 "monolog/monolog": "^1.24" 5 }, 6 "autoload": { 7 "psr-4": { 8 "Sample\" : "Classes/" 9 } 10 } 11} 12
** test.php **
php
1<?php 2 3 //require 4 require './vendor/autoload.php'; 5 6 7 use Sample\sampleClass; 8 //.envの保存場所指定(カレントに設定) 9 $dotenv = Dotenv\Dotenv::create(__DIR__); 10 11 $dotenv->load(); 12 13 //利用 14 //値を取得 15 $name = getenv('TEST_NAME'); 16 echo $name; 17 18 19 $sc = new sampleClass; 20 $sc->Hello();
ご助言お願い致します。
追記 フォルダ構成
. ├── Classes │ └── Sample.php ├── composer.json ├── composer.lock ├── test.php └── vendor ├── autoload.php ├── composer ├── monolog ├── phpoption ├── psr ├── symfony └── vlucas

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/02 04:59
2019/07/02 11:23