Propel 1'de migrations kullanıyorum, bu da yeterince iyi çalışıyor. Bazı veri işlemlerinde Propel sınıfına ve ortak geçiş yöntemleri için bir üst sınıfa erişmem gerekiyor, ancak Phing'den geçiş talep ettiğim için bu önemsiz gibi gözüküyor.Phing'i Propel 1 veritabanı geçişi için çağırırken sınıf otomatik yüklemesini ayarlamak için temiz bir yol var mı?
$root = realpath(__DIR__ . '/../..');
require_once $root . '/vendor/autoload.php';
require_once $root . '/lib/autoload.php';
set_include_path($root . '/lib' . PATH_SEPARATOR . get_include_path());
Propel::init($root . '/config/propel-conf.php');
: ihtiyacı her sınıf dosyasının başında olduğu sürece ben Özdevinimli ve istendi koduna sahip olarak,
php \
/project/backend-app/vendor/phing/phing/bin/phing.php \
-f /project/backend-app/vendor/propel/propel1/generator/build.xml \
-Dusing.propel-gen=true \
-Dproject.dir=/project/backend-app/db \
-Dpropel.database.url='mysql:dbname=job_crawler_test;host=127.0.0.1' \
-Dpropel.buildtime.conf.file='buildtime/job_crawler_test.xml' \
-quiet \
migrate
çalışıyor:
Bu kodu kullanarak göç diyoruz Tamam, bu işe yarıyor, ama bu biraz dağınık - resmi bir öneri olsa bile (yukarıdaki el ile sayfanın bağlantısına bakın). Temizlik için bu tekrarlayan kod bloğunu çıkarmak istiyorum.
Tabii ki bunu bir dosyaya koydum ve her dosyada tek bir require
satırını kullanabilirim, bu da bazı yükleri azaltacaktır, ancak bu çok tatmin edici değildir. Phing'e geçebileceğim bir -D
bayrağı var mı, belki bir bootstrap PHP dosyası gibi mi?
'un bir şey yapıp yapamayacağını merak ettim, bu durum a Phing core property gibi görünüyor, ancak bu herhangi bir fark yaratmıyor gibi görünüyor.
Phing, bu tür geçersiz kılmalara izin veriyorsa, '-Dauto_prepend_file =' PHP nezaketini kullanabilirsiniz. – mario
Teşekkürler @mario - iyimser bir deney verdi, boşuna. Bu [mevcut konsol params] hakkında bilgi (https://www.phing.info/docs/guide/stable/sec.commandlineargs.html) biraz seyrek olduğunu görünüyor! – halfer
Aha, Ne demek istediğini anladım - php' komutuna ekleyin - ne güzel bir fikir. Bunu denedim ... – halfer