私はOOPの中のPHPの非常に基本的な知識を持っていて、WordPressプラグインで名前空間を使うことを学ぶことを試みている。これら2つの情報源からの指示に従ってください。
これが私の現在のコードの見え方です。
ルートフォルダ:plugins/oowp
ファイル:oowp/bootstrap.php
<?php
/*
Plugin name: OOWP
*/
require_once('autoload.php');
ファイル:oowp/autoload.php
<?php
spl_autoload_register('autoload_function');
function autoload_function( $classname )
{
$class = str_replace( '\\', DIRECTORY_SEPARATOR, str_replace( '_', '-', strtolower($classname) ) );
// create the actual filepath
$filePath = WP_PLUGIN_DIR . DIRECTORY_SEPARATOR . $class . '.php';
// check if the file exists
if(file_exists($filePath))
{
// require once on the file
require_once $filePath;
}
}
ファイル:oowp/objects/custom-objects.php
<?php
namespace oowp\objects;
class Custom_Objects {
public function __construct() {
add_action('plugins_loaded', array($this, 'trial'));
}
public function trial() {
echo 'Works';
}
}
どのようにそしてどこで私はこのクラスを始めますか?処理を開始するクラスをもう1つ書く必要がありますか?ファイル自体にcustom-objects
クラスのインスタンスを作成しようとしましたが、うまくいきません。
それを試してみてください。
ファイル:oowp/bootstrap.php
<?php
/*
Plugin name: OOWP
*/
require_once( 'autoload.php' );
use oowp\objects\Custom_Objects;
new Custom_Objects;