require

PHP : override_function doesn't override even if bool true is returned

社会主义新天地 提交于 2020-01-05 04:41:07
问题 I'm using the ovverride_function installed from apd.so library via pecl It doesn't seem to work as expected This is my script function my_require($path) { echo "HELLO\n"; echo $path; } $b = override_function('require', '$path', 'return my_require($path);'); var_dump($b); require './index.php'; What I expected was to see as output bool(true) HELLO ./index.php Instead I got bool(true) Warning: require(./index.php): failed to open stream: No such file or directory in /var/www/test/script/test

2019/7/25 node.js

瘦欲@ 提交于 2020-01-05 02:36:46
// 在 Node 中,采用 EcmaScript 进行编码 // 没有 BOM、DOM // 和浏览器中的 JavaScript 不一样 console.log(window) console.log(document) 第一点区别就是:浏览器中的JavaScript是没有文件操作的能力的 读取文件: 写文件:writefile: 浏览器是不认识node.js代码的 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <!-- <script src="00-helloworld.js"></script> --> <!-- <script src="01-没有bom和dom.js"></script> --> <script src="02-读取文件.js"></script> </body> </html> 读取,写入文件 error中的值是null,if则是false,错误,返回的是对象,那么是true 根据这个给出提示语 回调函数的作用 随时用一个node开一服务器吗? http 导入node核心模块 注册request请求事件: 注册 request 请求事件 // 当客户端请求过来,就会自动触发服务器的 request

Node.js相关总结

不羁岁月 提交于 2020-01-05 02:35:20
一、首先我们一起认识node:   node是一门技术,并不是一门新的语言。是JavaScript运行环境。 node在解析JavaScript,依靠的是什么? 依靠的是谷歌浏览器中的v8引擎,所以不需要考虑兼容性,node因为是直接用v8引擎去解析,所以没有window对象 二、那么Node.js与JavaScript的区别是什么?   本质:      Javascript是一种web前端语言,主要用于web开发中,由浏览器解析执行      Node.js是一个可以快速构建网络服务及应用的平台,是用Javascript语言构建的服务平台,可用于后端建立服务器   区别:      Javascript 主要应用前端 是编程语言 客户端编程语言(需要浏览器的javascript解释器进行解释执行)      node.js 主要应用后端 1个平台 运行环境(一个基于Chrome JavaScript运行时建立的平台,它是对Google V8引擎进行了封装的运行环境)简单的说node.js就是把浏览器的解释器封装起来作为服务器运行平台,用类似javascript的结构语法进行编程,在node.js上运行。 三、那么node.js有什么优点和缺点呢?   优点:     1.事件驱动     2.异步编程     3.非阻塞模式的IO     4.轻量高效   缺点:     1

Node.js事件的正确使用方法

放肆的年华 提交于 2020-01-05 02:02:54
前言 事件驱动的编程变得流行之前,在程序内部进行通信的标准方法非常简单:如果一个组件想要向另外一个发送消息,只是显式地调用了那个组件上的方法。但是在 react 中用的却是事件驱动而不是调用。 事件的好处 这种方法能够使组件更加分离。在我们继续写程序时,会识别整个过程中的事件,在正确的时间触发它们,并为每个事件附加一个或多个事件监听器,这使得功能扩展变得更加容易。我们可以为特定事件添加更多的 listener,而不必修改现有的侦听器或触发事件的应用程序部分。我们所谈论的是观察者模式。 设计一个事件驱动的体系结构 对事件进行识别非常重要,我们不希望最终必须从系统中删除或替换现有事件,因为这可能会迫使我们删除或修改附加到事件上的众多侦听器。我的一般原则是仅在业务逻辑单元完成执行时才考虑触发事件。 假如你想在用户注册后发送一堆不同的电子邮件。注册过程本身可能会涉及许多复杂的步骤和查询,但从商业角度来看,这只是其中的一个步骤。每个要发送的电子邮件也是单独的步骤。因此,一旦注册完成马上就发布事件是很有意义的。于是我们附加了多个监听器,每个监听器负责发送一种类型的电子邮件。 Node的异步事件驱动架构具有一些被称为“emitters”的对象。它们发出命名事件,这些事件会调用被称为“listener”的函数。发出事件的所有对象都是 EventEmitter 类的实例。使用它

node事件循环

做~自己de王妃 提交于 2020-01-05 01:59:09
Node.js 是单进程单线程应用程序,但是通过事件和回调支持并发,所以性能非常高。 Node.js 的每一个 API 都是异步的,并作为一个独立线程运行,使用异步函数调用,并处理并发。 Node.js 基本上所有的事件机制都是用设计模式中 观察者模式 实现。 Node.js 单线程类似进入一个while(true)的事件循环,直到没有事件观察者退出,每个异步事件都生成一个事件观察者,如果有事件发生就调用该回调函数. Node.js 有多个内置的事件,我们可以通过引入 events 模块,并通过实例化 EventEmitter 类来绑定和监听事件,如下实例: // 引入 events 模块 var events = require('events'); // 创建 eventEmitter 对象 var eventEmitter = new events.EventEmitter(); 以下程序绑定事件处理程序: // 绑定事件及事件的处理程序 eventEmitter.on('eventName', eventHandler); 我们可以通过程序触发事件: // 触发事件 eventEmitter.emit('eventName'); 实例 创建 main2.js 文件,代码如下所示: // 引入 events 模块 var events = require('events');

[Vue]webpack的require与require.context

女生的网名这么多〃 提交于 2020-01-04 14:26:48
1.require 1.1完整路径的require语句: require('tools'); //preset alias tools require('./js/main'); 1.2带表达式的 require 语句: 自动 创建一个上下文(context) 如果你的 require参数含有表达式(expressions),会自动创建一个上下文(context),因为在编译时(compile time)并不清楚具体是哪一个模块被导入。 如: require('./template/' + name + '.ejs'); webpack 解析 require() 的调用,提取出来如下这些信息: Directory: ./template Regular expression: /^.*\.ejs$/ 会返回template目录下的所有后缀为.ejs模块的引用,包含子目录: { "./table.ejs": 42, "./table-row.ejs": 43, "./directory/folder.ejs": 44 } 2.require.context: 手动创建一个上下文(context) require.context(directory, useSubdirectories = false, regExp = /^\.\//); directory:指定要打包的目录;

JS 中的require 和 import 区别

百般思念 提交于 2020-01-04 14:09:10
在研究react和webpack的时候,经常看到在js文件中出现require,还有import,这两个都是为了JS模块化编程使用。CSS的是 @import 1.ES6 模块的设计思想,是尽量的静态化,使得编译时就能确定模块的依赖关系,以及输入和输出的变量。 Require是CommonJS的语法,CommonJS的模块是对象,输入时必须查找对象属性。 // CommonJS模块 let { stat, exists, readFile } = require('fs'); // 等同于 let _fs = require('fs'); let stat = _fs.stat; let exists = _fs.exists; let readfile = _fs.readfile; above:整体加载fs模块(即加载fs所有方法),生成一个对象"_fs",然后再从这个对象上读取三个方法,这叫“运行时加载”,因为只有运行时才能得到这个对象,不能在编译时做到静态化。 ES6模块不是对象,而是通过export命令显示指定输出代码,再通过import输入。 import { stat, exists, readFile } from 'fs'; above:从fs加载“stat, exists, readFile” 三个方法,其他方法不加载, 2.ES6模块默认使用严格模式

PHP: Can include a file that file_exists() says doesn't exist

别来无恙 提交于 2020-01-04 13:23:25
问题 In my script, I set the include path (so another part of the application can include files too), check that a file exists, and include it. However, after I set the include path, file_exists() reports that the file does not exist, yet I can still include the same file. <?php $include_path = realpath('path/to/some/directory'); if(!is_string($include_path) || !is_dir($include_path)) { return false; } set_include_path( implode(PATH_SEPARATOR, array( $include_path, get_include_path() )) ); //

How to skip require in ruby?

房东的猫 提交于 2020-01-04 11:12:32
问题 Can I conditionally skip requiring a file in Ruby? begin require 'aws-sdk' rescue LoadError puts "aws-sdk gem not found" end namespace :db do desc "import local postgres database to heroku. user and database name is hardcoded" task :import_to_heroku => [:environment, "db:dump_for_heroku"] do # code using aws-sdk gem end end In the above code, can I ask Ruby not to read after rescue LoadError I can wrap the whole code in an conditional but that is inelegant. I tried next and return . EDIT:

how to write a Node.js file that can be called from command line as well as 'require()'d from other files?

那年仲夏 提交于 2020-01-04 09:56:06
问题 I want to write a Node.js source file ( myCode.js ) in which there is a function say foo(arg1, arg2,..) , such that I can .. $ node ./myCode.js arg1 arg2 as well as // myOtherCode.js var foo = require('./mycode') Is it possible? Currently I have a small bunch of files like these and they all are coded like return ( function foo() { //... } )() which I call from the node command line like $ node ./myCode.js arg1 agr2 But now I want to string them together in a single javascript that will be