私は古いコードでプレーンなPHPと新しいコードをsymfonyに持っています。古いコードの呼び出しでクラスsymfonyのオートローダー、多分、インターセプトクラスは、どのように私は名前空間なしで、古いコードからapp/old/core/classes/Locale.php
を持っており、クラスexctly必要symfonyとプレーンなPHPオートロードクラス
を呼び出すためにsymfonyのを言ったとき、新しいコードから app/src/AppBundle/Entity/Locale.php
、これは名前空間を持つエンティティがあります
と古いコードで、私はこの静的な機能を持っていけないと私はエラー
class Page
{
function replacePageTags($replace_arr)
{
// set brases for keys
$braced_arr = Array();
foreach($replace_arr as $key => $value) {
$braced_arr["{".$key."}"] = $value;
}
//this I have error
$this->content = Locale::replaceTags($this->content, $braced_arr);
}
}
エラーメッセージを持っている古いコードから静的関数のロケールを呼び出しますが、symfonyの呼び出しエンティティ、当然の実体ロケール:
をAttempted to call an undefined method named "replaceTags" of class "Locale".
私が追加WHEクラスのページへのロケールが含ま
include('Locale.php');
class Page
{
がエラー
Error: Cannot declare class Locale, because the name is already in use
を持っている。しかし、私は実体static function replaceTags($text, $replace_arr)
に追加したときに、まだ多分symfonyは別のロケールを呼び出し、エラーが発生しているが、私は電話を必要とします古い機能からのロケール、どうしたらいいですか?多分
この自動ロードで作曲に私はSRCに
"autoload": {
"psr-4": {
"": "src/"
}
が、古いコードを持っていないか、私は他の開発者で
を知らないので、この問題を持っていない、私は、PHPのバージョン7.0.14を持っています彼らは7.0.8を持っているかもしれませんが、おそらく私はいくつかのph destrictionを必要とするでしょう、私は知らない( 古いコードでexectlyクラスを呼び出すか、この問題を解決するにはどうすればいいですか?
実際のエラーメッセージを質問に追加してください。 [intl](http://php.net/manual/en/book.intl.php)拡張機能を有効にしていますか? –
エラーメッセージ 'symfonyが名前Localeで別のcalssを呼び出すため、クラス" Locale ".'の" replaceTags "という未定義のメソッドを呼び出そうとしました。 –
拡張機能はどうですか?あなたは 'php -m | grep intl'は何も返しません? –