我得到的错误是
Warning: Phalcon\Mvc\View\Engine\Volt\Compiler::compileFile(../app/views/index/index.phtml.php): failed to open stream: Permission denied in /Users/mattstephens/Sites/magpie/public/index.php on line 26 Phalcon Exception: Volt directory can't be written
Run Code Online (Sandbox Code Playgroud)
我已经在我的引导程序中声明了伏特引擎的使用情况
$view->registerEngines(array(
'.phtml' => 'Phalcon\Mvc\View\Engine\Volt'
));
Run Code Online (Sandbox Code Playgroud)
在我的代码中提到第26行指向下面显示的应用程序句柄函数
echo $application->handle()->getContent();
Run Code Online (Sandbox Code Playgroud)
这是与权限相关的事情还是由于缺少目录?
我将开始说我是NodeJS的新手,但我已经用PHP开发了很多年(我知道的并不多).
我最近开始修补Node并发现一些奇怪的东西我希望有人可以提供帮助
我有一个文件调用,它会引入local.js一个.JSON用于设置等的文件oAuth keys.
我拉这个文件的最初方式是:
var fs = require('fs')
var settings = fs.readFileSync('./config/settings.json', 'utf8')
Run Code Online (Sandbox Code Playgroud)
我发现,我将无法从读取值JSON在settings通过settings.key这会给我undefined
测试下面的另一种方法
var settings = require('./config/settings.json')
Run Code Online (Sandbox Code Playgroud)
允许我从JSONvia中读取值settings.key
我很奇怪为什么会这样?
为简单起见,我创建了一些小文件来测试这个想法.基本上我正在寻找一种方法来发射模块上的事件和事件,然后在主文件中找回它,例如
这是运行应用程序的主要文件
main.js
var test = require('./test')
var emitter = require('./emitter')
var emit = new emitter()
emit.on('response', function(data) {
console.log(data)
})
Run Code Online (Sandbox Code Playgroud)
这是事件被触发的地方
fire.js
var emitter = require('./emitter')
var emit = new emitter
var Test = function() {
emit.sendEvent('response', 'test')
}
module.exports = Test
Run Code Online (Sandbox Code Playgroud)
以下是为处理应用程序事件触发而创建的模块
emitter.js
var util = require('util')
var eventEmitter = require('events').EventEmitter
function Event () {
eventEmitter.call(this)
}
util.inherits(Event, eventEmitter)
Event.prototype.sendEvent = function(type, data) {
this.emit(type, data)
}
module.exports = Event
Run Code Online (Sandbox Code Playgroud)
可以看出,emitter.js我有它设置能够发出任何自定义类型,包括解析的数据.
我似乎无法在初始main.js文件中选择它.但是,如果我把emit.sendEvent('response', 'banana') …
我一直在玩一些Composer自动加载,我遇到了一些问题所以目录结构是
index.php
app/
helpers/
router.php
vendor/
composer/
/*usual files*/
autoload.php
Run Code Online (Sandbox Code Playgroud)
在我的内心,我composer.json有以下内容
"autoload": {
"psr-4": {
"App\\": "app/"
}
}
Run Code Online (Sandbox Code Playgroud)
在我的index.php我有
<?php
// Autoload our namespaces
require __DIR__.'/vendor/autoload.php';
use App\Helpers\Router;
$route = new Router;
Run Code Online (Sandbox Code Playgroud)
得到以下错误
Fatal error: Class 'App\Helpers\Router' not found in /var/www/public/index.php on line 6
我尝试了一些不同的东西来尝试让它工作,但我不确定我哪里出错了.这是我第一次在框架之外使用Composer进行自动加载,所以会很感激任何指导.
node.js ×2
php ×2
composer-php ×1
eventemitter ×1
fs ×1
javascript ×1
phalcon ×1
psr-4 ×1
volt ×1