本文整理汇总了PHP中jApp::scriptsPath方法的典型用法代码示例。如果您正苦于以下问题:PHP jApp::scriptsPath方法的具体用法?PHP jApp::scriptsPath怎么用?PHP jApp::scriptsPath使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类jApp
的用法示例。
在下文中一共展示了jApp::scriptsPath方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testContext
function testContext()
{
$appPath = jApp::appPath();
$varPath = jApp::varPath();
$logPath = jApp::logPath();
$configPath = jApp::configPath();
$wwwPath = jApp::wwwPath();
$scriptsPath = jApp::scriptsPath();
$tempPath = jApp::tempPath();
// first save
jApp::saveContext();
// verify that we still have the current path
$this->assertEquals($appPath, jApp::appPath());
$this->assertEquals($varPath, jApp::varPath());
$this->assertEquals($logPath, jApp::logPath());
$this->assertEquals($configPath, jApp::configPath());
$this->assertEquals($wwwPath, jApp::wwwPath());
$this->assertEquals($scriptsPath, jApp::scriptsPath());
$this->assertEquals($tempPath, jApp::tempPath());
// change the path
jApp::initPaths('/myapp/');
$this->assertEquals('/myapp/', jApp::appPath());
$this->assertEquals('/myapp/var/', jApp::varPath());
$this->assertEquals('/myapp/var/log/', jApp::logPath());
$this->assertEquals('/myapp/var/config/', jApp::configPath());
$this->assertEquals('/myapp/www/', jApp::wwwPath());
$this->assertEquals('/myapp/scripts/', jApp::scriptsPath());
$this->assertEquals($tempPath, jApp::tempPath());
// second save
jApp::saveContext();
jApp::initPaths('/myapp2/');
$this->assertEquals('/myapp2/', jApp::appPath());
$this->assertEquals('/myapp2/var/', jApp::varPath());
$this->assertEquals('/myapp2/var/log/', jApp::logPath());
$this->assertEquals('/myapp2/var/config/', jApp::configPath());
$this->assertEquals('/myapp2/www/', jApp::wwwPath());
$this->assertEquals('/myapp2/scripts/', jApp::scriptsPath());
$this->assertEquals($tempPath, jApp::tempPath());
// pop the second save, we should be with the first saved values
jApp::restoreContext();
$this->assertEquals('/myapp/', jApp::appPath());
$this->assertEquals('/myapp/var/', jApp::varPath());
$this->assertEquals('/myapp/var/log/', jApp::logPath());
$this->assertEquals('/myapp/var/config/', jApp::configPath());
$this->assertEquals('/myapp/www/', jApp::wwwPath());
$this->assertEquals('/myapp/scripts/', jApp::scriptsPath());
$this->assertEquals($tempPath, jApp::tempPath());
// pop the first save, we should be with initial paths
jApp::restoreContext();
$this->assertEquals($appPath, jApp::appPath());
$this->assertEquals($varPath, jApp::varPath());
$this->assertEquals($logPath, jApp::logPath());
$this->assertEquals($configPath, jApp::configPath());
$this->assertEquals($wwwPath, jApp::wwwPath());
$this->assertEquals($scriptsPath, jApp::scriptsPath());
$this->assertEquals($tempPath, jApp::tempPath());
}
示例2: run
public function run()
{
require_once LIB_PATH . 'clearbricks/jelix.inc.php';
require_once JELIX_LIB_PATH . 'installer/jInstaller.class.php';
$appPath = $this->getParam('path');
$appPath = $this->getRealPath($appPath);
$appName = basename($appPath);
$appPath .= '/';
if (file_exists($appPath)) {
throw new Exception("this application is already created");
}
$this->config = JelixScript::loadConfig($appName);
$this->config->infoIDSuffix = $this->config->newAppInfoIDSuffix;
$this->config->infoWebsite = $this->config->newAppInfoWebsite;
$this->config->infoLicence = $this->config->newAppInfoLicence;
$this->config->infoLicenceUrl = $this->config->newAppInfoLicenceUrl;
$this->config->infoLocale = $this->config->newAppInfoLocale;
$this->config->infoCopyright = $this->config->newAppInfoCopyright;
$this->config->initAppPaths($appPath);
jApp::setEnv('jelix-scripts');
jApp::initLegacy();
JelixScript::checkTempPath();
if ($p = $this->getOption('-wwwpath')) {
$wwwpath = path::real($appPath . $p, false) . '/';
} else {
$wwwpath = jApp::wwwPath();
}
$this->createDir($appPath);
$this->createDir(jApp::tempBasePath());
$this->createDir($wwwpath);
$varPath = jApp::varPath();
$configPath = jApp::configPath();
$this->createDir($varPath);
$this->createDir(jApp::logPath());
$this->createDir($configPath);
$this->createDir($configPath . 'index/');
$this->createDir($varPath . 'overloads/');
$this->createDir($varPath . 'themes/');
$this->createDir($varPath . 'themes/default/');
$this->createDir($varPath . 'uploads/');
$this->createDir($varPath . 'sessions/');
$this->createDir($varPath . 'mails/');
$this->createDir($appPath . 'install');
$this->createDir($appPath . 'modules');
$this->createDir($appPath . 'plugins');
$this->createDir($appPath . 'plugins/coord/');
$this->createDir($appPath . 'plugins/tpl/');
$this->createDir($appPath . 'plugins/tpl/common');
$this->createDir($appPath . 'plugins/tpl/html');
$this->createDir($appPath . 'plugins/tpl/text');
$this->createDir($appPath . 'plugins/db/');
$this->createDir($appPath . 'plugins/auth/');
$this->createDir($appPath . 'responses');
$this->createDir($appPath . 'tests');
$this->createDir(jApp::scriptsPath());
$param = array();
$param['default_id'] = $appName . $this->config->infoIDSuffix;
if ($this->getOption('-nodefaultmodule')) {
$param['tplname'] = 'jelix~defaultmain';
$param['modulename'] = 'jelix';
} else {
// note: since module name are used for name of generated name,
// only this characters are allowed
$param['modulename'] = preg_replace('/([^a-zA-Z_0-9])/', '_', $appName);
$param['tplname'] = $param['modulename'] . '~main';
}
$param['config_file'] = 'index/config.ini.php';
$param['rp_temp'] = $this->getRelativePath($appPath, jApp::tempBasePath());
$param['rp_var'] = $this->getRelativePath($appPath, jApp::varPath());
$param['rp_log'] = $this->getRelativePath($appPath, jApp::logPath());
$param['rp_conf'] = $this->getRelativePath($appPath, $configPath);
$param['rp_www'] = $this->getRelativePath($appPath, $wwwpath);
$param['rp_cmd'] = $this->getRelativePath($appPath, jApp::scriptsPath());
$param['rp_jelix'] = $this->getRelativePath($appPath, JELIX_LIB_PATH);
$param['rp_app'] = $this->getRelativePath($wwwpath, $appPath);
$this->createFile(jApp::logPath() . '.dummy', 'dummy.tpl', array());
$this->createFile(jApp::varPath() . 'mails/.dummy', 'dummy.tpl', array());
$this->createFile(jApp::varPath() . 'sessions/.dummy', 'dummy.tpl', array());
$this->createFile(jApp::varPath() . 'overloads/.dummy', 'dummy.tpl', array());
$this->createFile(jApp::varPath() . 'themes/default/.dummy', 'dummy.tpl', array());
$this->createFile($appPath . 'plugins/.dummy', 'dummy.tpl', array());
$this->createFile(jApp::scriptsPath() . '.dummy', 'dummy.tpl', array());
$this->createFile(jApp::tempBasePath() . '.dummy', 'dummy.tpl', array());
$this->createFile($appPath . '.htaccess', 'htaccess_deny', $param, "Configuration file for Apache");
$this->createFile($appPath . 'project.xml', 'project.xml.tpl', $param, "Project description file");
$this->createFile($appPath . 'cmd.php', 'cmd.php.tpl', $param, "Script for developer commands");
$this->createFile($configPath . 'defaultconfig.ini.php', 'var/config/defaultconfig.ini.php.tpl', $param, "Main configuration file");
$this->createFile($configPath . 'defaultconfig.ini.php.dist', 'var/config/defaultconfig.ini.php.tpl', $param, "Main configuration file for your repository");
$this->createFile($configPath . 'profiles.ini.php', 'var/config/profiles.ini.php.tpl', $param, "Profiles file");
$this->createFile($configPath . 'profiles.ini.php.dist', 'var/config/profiles.ini.php.tpl', $param, "Profiles file for your repository");
$this->createFile($configPath . 'preferences.ini.php', 'var/config/preferences.ini.php.tpl', $param, "Preferences file");
$this->createFile($configPath . 'urls.xml', 'var/config/urls.xml.tpl', $param, "URLs mapping file");
//$this->createFile(JELIX_APP_CONFIG_PATH.'installer.ini.php', 'var/config/installer.ini.php.tpl', $param);
$this->createFile($configPath . 'index/config.ini.php', 'var/config/index/config.ini.php.tpl', $param, "Entry point configuration file");
$this->createFile($appPath . 'responses/myHtmlResponse.class.php', 'responses/myHtmlResponse.class.php.tpl', $param, "Main response class");
$this->createFile($appPath . 'install/installer.php', 'installer/installer.php.tpl', $param, "Installer script");
$this->createFile($appPath . 'tests/runtests.php', 'tests/runtests.php', $param, "Tests script");
$temp = dirname(jApp::tempBasePath());
if (file_exists($temp . '/.gitignore')) {
$gitignore = file_get_contents($temp . '/.gitignore') . "\n" . $appName . "/*\n";
//.........这里部分代码省略.........
示例3: run
public function run()
{
// retrieve the type of entry point we want to create
$type = $this->getOption('-type');
if (!$type) {
$type = 'classic';
} else {
if (!in_array($type, array('classic', 'jsonrpc', 'xmlrpc', 'rdf', 'soap', 'cmdline'))) {
throw new Exception("invalid type");
}
}
// retrieve the name of the entry point
$name = $this->getParam('name');
if (preg_match('/(.*)\\.php$/', $name, $m)) {
$name = $m[1];
}
// the full path of the entry point
if ($type == 'cmdline') {
$entryPointFullPath = jApp::scriptsPath($name . '.php');
$entryPointTemplate = 'scripts/cmdline.php.tpl';
} else {
$entryPointFullPath = jApp::wwwPath($name . '.php');
$entryPointTemplate = 'www/' . ($type == 'classic' ? 'index' : $type) . '.php.tpl';
}
if (file_exists($entryPointFullPath)) {
throw new Exception("the entry point already exists");
}
$entryPointDir = dirname($entryPointFullPath) . '/';
$this->loadProjectXml();
// retrieve the config file name
$configFile = $this->getParam('config');
if ($configFile == null) {
if ($type == 'cmdline') {
$configFile = 'cmdline/' . $name . '.ini.php';
} else {
$configFile = $name . '/config.ini.php';
}
}
// let's create the config file if needed
$configFilePath = jApp::configPath($configFile);
if (!file_exists($configFilePath)) {
$this->createDir(dirname($configFilePath));
// the file doesn't exists
// if there is a -copy-config parameter, we copy this file
$originalConfig = $this->getOption('-copy-config');
if ($originalConfig) {
if (!file_exists(jApp::configPath($originalConfig))) {
throw new Exception("unknown original configuration file");
}
file_put_contents($configFilePath, file_get_contents(jApp::configPath($originalConfig)));
} else {
// else we create a new config file, with the startmodule of the default
// config as a module name.
$defaultConfig = parse_ini_file(jApp::configPath('defaultconfig.ini.php'), true);
$param = array();
if (isset($defaultConfig['startModule'])) {
$param['modulename'] = $defaultConfig['startModule'];
} else {
$param['modulename'] = 'jelix';
}
$this->createFile($configFilePath, 'var/config/index/config.ini.php.tpl', $param);
}
}
require_once JELIX_LIB_PATH . 'utils/jIniMultiFilesModifier.class.php';
$inifile = new jIniMultiFilesModifier(jApp::configPath('defaultconfig.ini.php'), $configFilePath);
$param = array();
$param['modulename'] = $inifile->getValue('startModule');
// creation of the entry point
$this->createDir($entryPointDir);
$param['rp_app'] = $this->getRelativePath($entryPointDir, jApp::appPath());
$param['config_file'] = $configFile;
$this->createFile($entryPointFullPath, $entryPointTemplate, $param);
if ($type != 'cmdline') {
if (null === $inifile->getValue($name, 'simple_urlengine_entrypoints', null, true)) {
$inifile->setValue($name, '', 'simple_urlengine_entrypoints', null, true);
}
if (null === $inifile->getValue($name, 'basic_significant_urlengine_entrypoints', null, true)) {
$inifile->setValue($name, '1', 'basic_significant_urlengine_entrypoints', null, true);
}
$inifile->save();
}
$this->updateProjectXml($name . ".php", $configFile, $type);
require_once JELIX_LIB_PATH . 'installer/jInstaller.class.php';
$installer = new jInstaller(new textInstallReporter('warning'));
$installer->installEntryPoint($name . ".php");
}