note 49925 added to function.define

From: Date: Sat, 12 Feb 2005 04:45:59 +0000
Subject: note 49925 added to function.define
Groups: php.notes 
Request: Send a blank email to php-notes+get-84890@lists.php.net to get a copy of this message
Better pack with define() for all who really miss Java package management: Use this "manifest.php" on very first script start or copy it to your config.somehow.php. <?php $__packages = array( "org.ilove.java.more", "org.ilove.python.too", "net.php.isok" ); define("C_IS_WINDOWS", false); define("C_DIR", (C_IS_WINDOWS ? "\\" : "/")); define("C_PATH_ROOT", str_replace("/", C_DIR, $_SERVER["DOCUMENT_ROOT"]).C_DIR); define("C_PATH_CORE", C_PATH_ROOT."core".C_DIR); define("C_PATH_CLASS", C_PATH_CORE."classes".C_DIR); define("C_APPLICATION_BASE", C_PATH_CORE.C_DIR."application".C_DIR); $total_packages = 0; $i = sizeof($__packages); while($i-- > 0) { $tokens = explode(".", $__packages[$i]); $j = sizeof($tokens); while($j-- > 0) { $token = strtolower(trim($tokens[$j])); if(strlen($token) > 0 && !defined($token)) { define($token, ($j == 0 ? C_PATH_CLASS : "").$tokens[$j].C_DIR); $total_packages++; } } } define("C_PACKAGE_COUNT", $total_packages); ?> With restrictions on non-package constants, you now can call your files like that: <?php require_once org.ilove.java.more."Than.php"; ?> Regards Robi ---- Manual Page -- http://www.php.net/manual/en/function.define.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+49925 Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+49925&report=yes&reason=added+to+the+manual Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+49925&report=yes&reason=bad+code Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+49925&report=yes&reason=spam Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+49925&report=yes&reason=useless Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+49925&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+49925&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#84890) next »