小编mar*_*ius的帖子

PHP覆盖单个实例的功能

在javascript中,我知道可以简单地重写单个实例的类方法,但是我不太确定如何在PHP中进行管理。这是我的第一个想法:

class Test {
    public $var = "placeholder";
    public function testFunc() {
        echo "test";
    }
}

$a = new Test();

$a->testFunc = function() {
    $this->var = "overridden";
};
Run Code Online (Sandbox Code Playgroud)

我的第二次尝试是使用匿名函数调用,不幸的是杀死了对象范围。

class Test {
    public $var = "placeholder";
    public $testFunc = null;
    public function callAnonymTestFunc() {
        $this->testFunc();
    }
}

$a = new Test();

$a->testFunc = function() {
    //here the object scope is gone... $this->var is not recognized anymore
    $this->var = "overridden";
};

$a->callAnonymTestFunc();
Run Code Online (Sandbox Code Playgroud)

php oop overriding

5
推荐指数
1
解决办法
2482
查看次数

nextjs中间件无法连接数据库(mongodb)

我的总体感觉是nextjs的中间件组件没有将所有资源加载到运行时中。我正在使用 next.js v17.0.x 。显然,在中间件上有一个不同的运行时,称为“边缘”运行,它似乎无法处理所有资源。

一旦我尝试建立与 mongodb 的连接,中间件将抛出此错误:

错误 - (中间件)/node_modules/next-session/lib/compat.js (1:0) @ Array.ExpressStore 错误 - Edge 运行时不支持 Node.js“事件”模块。

我的计划是在继续应用程序逻辑之前检查数据库会话(如果存在),所以基本上是在连接上。在我看来,中间件组件应该处理这个问题,如果没有会话持续存在,它应该重定向,还是我错了?

mongodb node.js next.js

5
推荐指数
1
解决办法
1828
查看次数

LitJSON库,格式为FLOAT / DOUBLE问题

由于JSON是一种可以写为字符串的格式,因此必须由库解释或有时由语言本身来解释。

在较旧的C#版本中,没有类似的东西。使用LitJSON库,我遇到以下问题,我有一个名为Vector3的类,其中包含3个浮点值(不是double)。

public class Vector3 {
 public float x{get;set;}
 public float y{get;set;}
 public float z{get;set;}
}
Run Code Online (Sandbox Code Playgroud)

使用下面的LitJSON代码片段,它实际上应该用值填充Vector3的实例。

Vector3 test = JsonMapper.ToObject<Vector3>("{'x':1.0,'y':1.0,'z':1.0}");
Run Code Online (Sandbox Code Playgroud)

但是发生错误“无法为System.Single分配值(类型Single.Double)”

看来它只知道double但没有float:/

有什么解决办法吗?

c# json litjson

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

如何使用继承/多态将 JSON 字符串解析为 C# 对象?

我想将 JSON 字符串解析为可能是多态的 C# 对象。

总结一下:我不想实例化根对象,但我想根据JSON输入实例化继承的对象。

这是我使用的 C# 对象的示例:

public class Module {
  public string name;
}

public class Wheel : Module {
  public int amount;
  public Wheel(string name, int amount) : base(name) {...}
}

public class Break : Module {
  public double delay;
  public Break(string name, double delay) : base(name) {...}
}
Run Code Online (Sandbox Code Playgroud)

我有这个 JSON 字符串,它是一个包含两个 JSON 对象的数组:

[{
  "name":"Wheel",
  "amount":4
},{
  "name":"Break",
  "delay":1.0
}]
Run Code Online (Sandbox Code Playgroud)

我想将此 JSON 字符串反序列化为 C# 对象(列表/数组)。每个项目都应该被实例化为一个子类(WheelBreak),但由于List项目必须在相同的分母上,因此列表类型必须是 type Module

c# json json.net

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

使用独立的 CakePHP ORM 时在哪里定义表/实体类?

我正在使用 cakephp CakePHP-orm的独立子项目“cakephp-ORM” 。

我在文档中找不到文件系统上定义表和实体的位置。

它解释了如何创建表,但没有解释将它们保存到哪里。然后会在自动加载时调用该表还是您必须自己要求/包含它们?文档章节

提前致谢!

orm cakephp autoload cakephp-3.0 cakephp-3.x

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

GLSL改变纹理的像素颜色

我想更改我附加到着色器的纹理上的单个像素.必须有一个简单的功能.

tex2D(sampler,uv)用于读取它并返回像素颜色.我需要一个操作像素颜色并将其写回纹理的函数.那不应该那么困难,但我找不到它.

shader textures pixel glsl

2
推荐指数
1
解决办法
2039
查看次数

CSS 相对定位不断线

我想有一些div的相对定位,具有外容器,并漂浮在一个线。

实现这一目标的唯一方法是向左浮动,我认为对吗?但是如果我这样做,如果元素大于容器宽度,它会换行...

这里的代码:(请不要介意语法错误)

<div style="position:relative;width:300px;height:300px;overflow:scroll">
 <div id="1" style="position:relative;width:200px;height:50px;float:left;"></div>
 <div id="2" style="position:relative;width:200px;height:50px;float:left;"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

id 为 2 的 Div 将换行...如何避免这种情况?

css css-position

2
推荐指数
1
解决办法
4465
查看次数

Javascript从路径获取img的宽度

我认为应该有一个简单的解决方案,但我无法弄清楚。我想要做的是通过其路径(未在屏幕上呈现)获取图像的宽度/高度。

喜欢:

var img = ImageInfo(path);
alert(img.width);
Run Code Online (Sandbox Code Playgroud)

(我想用普通的 javascript 来做这个)

javascript

2
推荐指数
1
解决办法
3069
查看次数

在php脚本上继续cakephp 3会话

我的情况如下.我有一个cakephp项目和一个在同一台服务器上运行的独立的简单php脚本.当我使用我的客户端浏览器连接到cakephp项目时,它会建立一个应该的会话.

现在我想用我的普通php脚本继续会话数据.我再次使用相同的客户端浏览器访问普通的PHP脚本(因此请求元数据应该相同并且会话应该被识别)并且我将cakephp会话选项设置为PHP.

'Session' => [
  'defaults' => 'php',
 ],
Run Code Online (Sandbox Code Playgroud)

但是,我无法找到如何在纯PHP脚本上继续会话.我会假设我的普通php脚本的以下两行会做出魔术:

session_start(); 
echo json_encode($_SESSION);
Run Code Online (Sandbox Code Playgroud)

亲切的问候,马吕斯

php session cakephp cakephp-3.x

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