我刚刚创建了一个名为“Default”的模块,应用程序似乎在此时停止工作。
这是我使用的脚本(它适用于除“默认”之外的任何其他名称):
#!/bin/bash
die () {
echo >&2 "$@"
exit 1
}
[ "$#" -eq 1 ] || die "1 argument required (module name), $# provided"
cd module;
#add check if module name already exists
var="$1"
OUTPUT=${var,,}
echo $OUTPUT
mkdir -pv $1/{config,src/$1/{Controller,Form,Model},view/$OUTPUT/$OUTPUT};
cd $1;
echo "<?php
// module/$1/Module.php
namespace $1;
class Module
{
public function getAutoloaderConfig()
{
return array(
'Zend\Loader\ClassMapAutoloader' => array(
__DIR__ . '/autoload_classmap.php',
),
'Zend\Loader\StandardAutoloader' => array(
'namespaces' => array(
__NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
),
),
);
}
public function getConfig()
{
return include __DIR__ . '/config/module.config.php';
}
}
" > Module.php;
echo "<?php
// module/$1/autoload_classmap.php:
return array();
" > autoload_classmap.php;
echo "<?php
// module/$1/config/module.config.php:
return array(
'controllers' => array(
'invokables' => array(
'$1\Controller\\$1' => '$1\Controller\\$1Controller',
),
),
'view_manager' => array(
'template_path_stack' => array(
'$OUTPUT' => __DIR__ . '/../view',
),
),
);
" > config/module.config.php;
echo "Updating application.config"
sed -i '/modules..=>.array/,/),/ { /[^(,]$/ s//&,\n '\'$1\''/ }' ../../config/application.config.php;
echo "Success"