Yük kaynak dosya olmadan php fonksiyonu nasıl kullanılır?

3 Cevap php

Ben örnek için DebugR(), benim işlevini kullanmak istiyorum, ama ben kullanmak istemiyorum gerektiren veya kaynağını içeren fonksiyon dosyasını yüklemek için ({[) (1]} ile) sayılabilir.

Ben bir autoload kullanabilirsiniz biliyorum, ama bu eylem benim php yapılandırması genel olmalıdır. Ben bir PHP uzantısı oluşturmak gerektiğini düşünüyorum, ama başka bir yolu var mı?

3 Cevap

Yapabileceğiniz bir PHP yapılandırma çizgi vardır.

Belgelere bu diyor ki:

auto_prepend_file dize

Specifies the name of a file that is automatically parsed before the main file. The file is included as if it was called with the require() function, so include_path is used.

The special value none disables auto-prepending.

Uzantısı, ya da fonksiyonların otomatik yükleme bir sınıf inşa veya doğrudan sayfanın içine işlev gerektiren, ya da aynı dosyanın işlevini yazmadan, ben PHP yapılandırma ayarlama olmadan bir yolu yoktur eminim.

Meraktan, bunlardan birini yapmak istememek için nedenleri nelerdir?

Bunu yapmak için tek mümkün yolu, bu gibi autoloads kullanmaktır:

// your_file.php
function __autoload($class)
{
    require_once('./classes/' . $class . '.php');
}

echo _::Bar();
var_dump(_::DebugR());
echo _::Foo();

// ./classes/_.php
class _
{
    function Bar()
    {
    	return 'bar';
    }

    function DebugR()
    {
    	return true;
    }

    function Foo()
    {
    	return 'foo';
    }
}

Tabii ki, her işlevi bu _ sınıf içinde saklanır.

Başka bir alternatif, bir nesne içinde çalışan eğer __ () çağrısı sihirli yöntemini kullanmak ve bir şey gibi yapmak için:

return $this->DebugR();