Php Programming Code Examples
Php > Php Classes Code Examples
PHP class generator must be used from Command line interface
PHP class generator must be used from Command line interface
#!/usr/local/bin/php -q -c /usr/local/etc
<?
// this PHP script must be used from Command line
// the script create a file with a PHP class
// is like a Command Line CASE tool for php
//
//
// Arguments
//# $1 Variables for the Class in a Text file
//# $2 Class name
//# $3 Extends class name. MysqlRecordSet for this sample
//# $4 Table name that will host the class data
//# $5 Output file name
//
// step one we Read the file that have the Variables
$campos = file($argv[1]);
$fp = fopen ($argv[5], "a");
// step 2 create the class name
fputs($fp,"<?\n");
fputs($fp,"class ". $argv[2] . " extends " . $argv[3] . "\n");
fputs($fp," {\n");
// step 3 the Variables where created here
for ($x=0;$x<(sizeof($campos));$x++)
{
fputs($fp," var \$". trim($campos[$x],"\n") .";\n");
}
// step 4 generate the constructor
fputs($fp," function ". $argv[2] . "()\n");
fputs($fp," {\n");
for ($x=0;$x<(sizeof($campos));$x++)
{
fputs($fp," \$this->" . trim($campos[$x],"\n") . "=\"\";\n");
}
fputs($fp," \$this->" . $argv[3] . "();\n");
fputs($fp," }\n");
// End the Constructor
//Funciontions Add,Del,Query,Update
fputs($fp," function Add(\$dbname,\$cnx)\n");
fputs($fp," {\n");
fputs($fp," \$sql=\"insert into " . $argv[4] . " values('\" . ");
for ($x=0;$x<(sizeof($campos)-1);$x++)
{
fputs($fp,"\$this->" . trim($campos[$x],"\n") . " . \"','\" . ");
}
fputs($fp,"\$this->" . trim($campos[$x],"\n") . ". \"')\";\n");
fputs($fp," \$this->open(\$dbname,\$sql,\$cnx);\n");
fputs($fp," \$this->close();\n");
fputs($fp," }\n");
fputs($fp," function Del(\$dbname,\$cnx)\n");
fputs($fp," {\n");
fputs($fp," \$sql=\"delete from " . $argv[4] . " values('\" . ");
for ($x=0;$x<(sizeof($campos)-1);$x++)
{
fputs($fp,"\$this->" . trim($campos[$x],"\n") . " . \"','\" . ");
}
fputs($fp,"\$this->" . trim($campos[$x],"\n") . ". \"')\";\n");
fputs($fp," \$this->open(\$dbname,\$sql,\$cnx);\n");
fputs($fp," \$this->close();\n");
fputs($fp," }\n");
fputs($fp," }\n");
fputs($fp,"?>");
fclose($fp);
//last step we close the file !
//enjoy the class generator
?>