You are here: Re: question regarding Reflection « PHP « IT news, forums, messages
Re: question regarding Reflection

Posted by Curt Zirzow on 11/02/05 00:14

On Tue, 01 Nov 2005 14:31:12 -0800, Manish Marathe wrote:

> ...
> My question is to use the Reflection API, I need to import the original
> class for which I am generating tests. For example to generate a tests for
> class Company which is in Company.php:
>
> include_once('company.php');
>
> $c = new ReflectionClass('Company');
>
> If I have to generate test for many classes at once, it would be foolish
> to have them included in my file on the runtime. Am I understanding it
> correctly ?

Yes you are understanding correctly. You can avoid this issue by using
the pcntl[1] tools available in php (assuming this is a *nix environment.)
A simple usage would be something like:

<?php

$pid = pcntl_fork();
if ($pid == -1) {

die('could not fork');

} else if ($pid) {

// we are the parent
pcntl_wait($status); //Protect against Zombie children

echo 'Class is defined: ';
var_dump(class_exists('foobar', false));

} else {

// we are the child
// create a class to see if the parent sees it
class foobar { }

// do your Unit testing..

}

The parent process would just iterate through all the class files
you need to include and fork a child. Then you can include the file in
the child process run your unit test and then exit.

I use this method for any sort of long lasting script that causes a lot of
memory or resource usage.

[1] http://php.net/pcntl

HTH,

Curt.
--
http://news.zirzow.dyndns.org/

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация