xmlデータを読み込んでjsonに変換するヘルパーメソッドを作成しています。私はPHP/Laravel 5.1 - 以前にファイルで宣言したメソッドを再宣言できません
1)作成したファイル
app/helper/commonHelper.php
以下の手順に従い、それに次のコードを追加しました。
<?php
function xmlToArray($xml, $options = array()) {
// the entire code here
}
2)
app/providers/HelperCommonsProvider.php
下のファイルと次のコード
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class HelperCommonsProvider extends ServiceProvider
{
/**
* Bootstrap the application services.
*
* @return void
*/
public function boot()
{
//
}
/**
* Register the application services.
*
* @return void
*/
public function register()
{
require base_path().'/app/Helpers/CommonHelper.php';
}
}今
を作成Iは
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use Tymon\JWTAuth\Facades\JWTAuth;
use Illuminate\Support\Facades\Config;
use Log as EventLogger;
class UsersController extends Controller {
/**
* Display a listing of the resource.
*
* @return Response
*/
public function index() {
echo "You are in the index function";
$file = Config::get('constants.constants.userdirectory');
$file = $file . '/' . 71 . '/' . 71 . '.xml' ;
$xmlloaded = simplexml_load_file($file);
$returnvalues = xmlToArray($xmlloaded, array('alwaysArray'));
echo json_encode($returnvalues);
die;
//
}
}
ようなコントローラにxmlToArray()を呼び出すとき
これは例外
Fatal error: Cannot redeclare xmlToArray() (previously declared in D:\work\HC\hcserver\app\Helpers\CommonHelper.php:3) in
D:\work\HC\hcserver\app\Helpers\CommonHelper.php on line 79 PHP Fatal error: Uncaught exception 'Illuminate\Contracts\Container\BindingResolutionException' with message 'Target [Illuminate\Contracts\Debug\ExceptionHandler] is not instantiable.' in D:\work\HC\hcserver\vendor\laravel\framework\src\Illuminate\Container\Container.php:748
スロー私はここで間違ってやっているものを私に教えてください?
更新日:CommonHelper.php内部全体のコンテンツ - >http://pastebin.com/GuQGYnJP
理由がわからない。しかし、あなたの関数宣言を 'if(!function_exists( 'xmlToArray')){function xmlToArray(){}}'にラップすることができます。 –
__entire__ファイル 'D:\ work \ HC \ hcserver \ app \ Helpers \ CommonHelperを投稿してください。 php'(ペーストビンを使用すると長すぎる場合) –
奇妙なことに、エラーが示唆するように宣言を繰り返すようには見えません。私はL5.2のインスタンスで全く同じ設定をテストしました - それはここで働いていました...今私は好奇心です –