Я новичок в скрипте Shell. Я пишу сценарий оболочки для генерации php-класса. Я успешно сгенерировал класс из этого скрипта, но проблема в том, что я не могу объявить переменные php в этом классе. Например:Сгенерировать PHP-класс из сценария bash
#!/bin/bash
# Make root class
echo "Adding Root class..."
cat > Example.php << EOF
<?php
require_once (dirname(__FILE__)) . '/../CmlmAPICore.php';
class $1 extends PHPUnit_Framework_TestCase {
public $coreAPI;
public $globalPath;
public $path;
protected function setUp() {
$this->coreAPI = new CmlmAPICore();
$this->globalPath = $GLOBALS['DATA_FOLDER'];
}
}
Эти переменные не показаны в классе генерируемой. Все остальное хорошо видно. Сгенерированного класс:
<?php
require_once (dirname(__FILE__)) . '/../CmlmAPICore.php';
class Audios extends PHPUnit_Framework_TestCase {
public ;
public ;
public ;
protected function setUp() {
->coreAPI = new CmlmAPICore();
->globalPath = ['DATA_FOLDER'];
}
}
=> $ 1 является параметром я прохожу в качестве имени класса, когда я запустить скрипт.
Я думаю, что это не означает, что в этом знаке «$». Есть ли способ сделать это?
Почему вы не генерировать класс, используя PHP, возможно, с небольшой помощью шаблона двигателя? BTW: 'dirname (__ FILE __)' такое же, как '__DIR__'. –
Да. Я также реализовал этот способ, используя скелеты в php. Точка: мне нужно добавить тестовые примеры в этом классе после чтения некоторых файлов. Что не представляется возможным с этим. –
Что вы имеете в виду «не представляется возможным»? Например, вы можете использовать 'file_put_contents()' для добавления к существующему файлу. –