Bcompiler ve __ FILE__ sihirli sabit nasıl kullanılır

0 Cevap php

Ben bayt içine bir PHP uygulamasının bazı bit derlemek çalışıyorum. Kod sihirli sabit __ FILE__ kullanır.

infile.php:

<?php
echo dirname(__FILE__);

squish.php:

<?php
$h = fopen('/tmp/pants/outfile.php', 'w');
bcompiler_write_header($h);
bcompiler_write_file($h, '/tmp/trousers/infile.php');
bcompiler_write_footer($h);
fclose($h);

dnm.php:

<?php
require('/tmp/pants/outfile.php');

Test.php çalışan çıkışı olan /tmp/trousers yerine /tmp/pants. Ben bytecode derleme faz çıkış dosyası bayt kodu yazmadan önce kendi değerlerine sihirli sabitler çevirir çünkü bu olduğunu tahmin ediyorum, ancak bu ciddi onlar her zaman bir yere bağlı olması durumunda yararlı bir şey için sihirli sabitler kullanmak için yeteneği sınırlar Girdi dosyasının.

Geçerli kaynak dosyasının adını almak için başka yolları var mı? __ FILE__ için ihtiyacını azaltmak ama yine de bana verilen bir kaynak dosyasına göre yollara başvurmak için izin verebilir başka teknikler var mı?

0 Cevap