2010-05-31 9 views
1

PHP 클래스의 모든 메소드/함수에 액세스 할 수있는 파일을 포함하고자합니다. 파일에는 base-64로 인코딩 된 변수 만 포함됩니다. 어떻게해야합니까?클래스에 파일을 포함하려면 어떻게해야합니까?

감사합니다.

+0

는 "파일은 기본-64로 인코딩 된 변수에 포함"-?' VolkerK

+0

예, 괜찮습니다 – 404Error

+0

이 파일을 제어 할 수 있습니까? 예) 신뢰할 수 있습니까? b) 형식을 변경할 수 있습니까? – VolkerK

답변

3

이 경우에는 상수를 사용하는 것이 좋습니다.

define('MY_BASE64_VAR', base64_encode('foo')); 

어디에서나 사용할 수 있습니다.

require "constant.php"; 
class Bar { 
    function showVariable() {echo MY_BASE64_VAR;} 
} 

물론, 클래스에서 사용하기 전에 정의 된 파일을 포함시켜야합니다.

2
<?php include("common.php"); ?> 

체크 here.

0

당신이이 모든 클래스에 포함되어 있는지 확인하려는 경우, 당신은 모든 클래스에 포함해야합니다하지만 당신은 단지 64 기수에게 인코딩 된 데이터를 저장하면 어떤없이, 효율성 고체

<?php include_once("common.php"); ?> 
0

의 include_once 문을 사용 그 파일에 추가 PHP 코드를 추가하면 해당 내용을 읽고 데이터를 디코딩하여 객체의 속성에 지정할 수 있습니다.

class Foo { 
    protected $x; 

    public function setSource($path) { 
    // todo: add as much validating/sanitizing code as needed 
    $c = file_get_contents($path); 
    $this->x = base64_decode($c); 
    } 

    public function bar() { 
    echo 'x=', $this->x; 
    } 
} 

// this will create/overwrite the file test.stackoverflow.txt, which isn't removed at the end of the script. 
file_put_contents('test.stackoverflow.txt', base64_encode('mary had a little lamb')); 
$foo = new Foo; 
$foo->setSource('test.stackoverflow.txt'); 
$foo->bar(); 

프린트 x=mary had a little lamb.

는 (당신은 조금 더 분리 할 수 ​​있습니다 ...하지만 그것은 단지 예입니다.)

관련 문제