Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- umask(0);
- $file = tempnam(sys_get_temp_dir(), 'PHP-Test');
- chmod($file, 0777);
- $class = <<<FILE
- <?php
- class MyClass
- {
- public function testMyAss()
- {
- echo "some content";
- echo "some other content";
- }
- }
- FILE;
- echo highlight_string($class, TRUE), "<hr>\n";
- if (file_put_contents($file, $class) === FALSE) {
- die('shit maaan :(');
- }
- require_once $file; // create class
- function appendToMethod(ReflectionMethod $method, $content)
- {
- $file = fopen($method->getFilename(), 'rb+');
- echo seekLine($file, $method->getEndLine());
- fwrite($file, $content);
- fclose($file);
- }
- /**
- * @return string|FALSE
- */
- function seekLine($resource, $lineNumber)
- {
- rewind($resource);
- for ($i = 1; !feof($resource) ;$i++) {
- $line = fgets($resource);
- if ($i === $lineNumber) {
- fseek($resource, -strlen($line), SEEK_CUR);
- return $line;
- }
- }
- return FALSE;
- }
- appendToMethod(new ReflectionMethod('MyClass', 'testMyAss'), "echo \"my ass\";");
- echo "<hr>", highlight_file($file, TRUE);
Advertisement
Add Comment
Please, Sign In to add comment