小编Mat*_*ens的帖子

Volt目录无法写入

我得到的错误是

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)

这是与权限相关的事情还是由于缺少目录?

php phalcon volt

6
推荐指数
3
解决办法
2万
查看次数

fs vs需要JSON

我将开始说我是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)

我发现,我将无法从读取值JSONsettings通过settings.key这会给我undefined

测试下面的另一种方法

var settings = require('./config/settings.json')
Run Code Online (Sandbox Code Playgroud)

允许我从JSONvia中读取值settings.key

我很奇怪为什么会这样?

fs node.js

4
推荐指数
1
解决办法
1495
查看次数

跨模块共享事件

为简单起见,我创建了一些小文件来测试这个想法.基本上我正在寻找一种方法来发射模块上的事件和事件,然后在主文件中找回它,例如

这是运行应用程序的主要文件

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') …

javascript node.js eventemitter

3
推荐指数
1
解决办法
1740
查看次数

PSR4 Composer自动加载命名空间

我一直在玩一些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进行自动加载,所以会很感激任何指导.

php composer-php psr-4

0
推荐指数
1
解决办法
1148
查看次数

标签 统计

node.js ×2

php ×2

composer-php ×1

eventemitter ×1

fs ×1

javascript ×1

phalcon ×1

psr-4 ×1

volt ×1