小编zvi*_*fer的帖子

关于何时在 php 中从子类实例化父类的困惑

我正在创建一个网站,但是为了进一步提高我的编码技能,我正在尝试利用 OOP 的力量来完成它。

我正在使用类来验证表单输入,所以我想我会有一个“父”验证类,然后是每个提交的表单的子类(即登录类、注册类等),它将负责将正确的值放入数据库等

我见过的代码有从孩子的构造函数构造父。但是,我没有这样做,但我的课程似乎仍然有效?

有人可以向我解释为什么我们从孩子那里调用父构造函数吗?另外,我的代码是否只工作是因为我在我的父母中有“公共”功能(方法)?(这可能是一个问题)?

我的代码(为清楚起见的删节版)如下:

class Validation_Class
{
 public function __construct()
{
 // constructor not needed
 }

 public function is_genuine_email_address($email) {
     // code to validate email are genuine here...
     }

 }
Run Code Online (Sandbox Code Playgroud)

我的孩子班看起来像...

class Login_Class extends Validation_Class
{

public function __construct()
{
    // I don't call parent::__construct() from here
    // should I be doing?
    // I can still access parent methods with $this->is_genuine_email_address
    }

 }
Run Code Online (Sandbox Code Playgroud)

我的 Validation_Class 中的所有函数(方法)都是“public”的,当我实例化我的子类时,我可以使用以下命令调用任何 Validation Class 方法:

$className = "Login_Class";
$thisClass = new $className();
Run Code Online (Sandbox Code Playgroud)

php oop

4
推荐指数
2
解决办法
1006
查看次数

如何将列表元素拆分为两个?

如果我将数据存储在列表中,例如

images = ['pdf-one','gif-two','jpg-three']
Run Code Online (Sandbox Code Playgroud)

如何在连字符处将这些元素拆分为多个元素 - 而不是子列表.即

images = ['pdf','-one','gif','-two','jpg','-three']
Run Code Online (Sandbox Code Playgroud)

images = [['pdf','-one'],['gif','-two'],['jpg','-three']]
Run Code Online (Sandbox Code Playgroud)

python list sublist

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

jQuery Cookie隐藏/显示div

我正在尝试使用jQuery Cookie设置cookie,以便为新访问者显示警报,当您单击"关闭"按钮时,它将设置cookie并阻止警报div显示.我还想让cookie在24小时后过期.

我已经玩了一些代码并让它工作,但是,我现在的方式,默认显示警报div,只有在你点击关闭时才隐藏.这很好,但是当cookie存在时,警报会在隐藏之前显示一瞬间.

我如何修改以下代码,以便我可以默认隐藏div,如果cookie不存在则会显示,但如果他们点击关闭按钮,它将生成一个cookie并隐藏警报24小时?

if ($.cookie('alert')) $('.alert-box').hide();
else {
    $(".close").click(function() {
        $( ".alert-box" ).slideUp( "slow", function() { });
        $.cookie('alert', true);
    });
}
Run Code Online (Sandbox Code Playgroud)

html javascript css cookies jquery

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

NODE.JS缓存JSON

我有一个NODE.JS Express服务器,它可以将JSON的大块分解成较小的部分,并通过URL将请求路由到移动设备和我正在创建的各种其他应用程序。

我刚刚从测试数据转移到实时数据,但是我发现NODE.JS不是使用最新版本的JSON,而是缓存和重用服务器运行时就位的JSON。

这是(部分)代码

var express = require('express'),
    http = require('http');
    forever = require('forever');

var ppm = require('./data/ppm.json');
var stations= require('./data/stations.json');
var fgwstations= require('./data/fgwstations.json');

var app = express()
    .use(express.bodyParser())
    .use(express.static('public'));

app.all('/', function(req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "X-Requested-With");
    next();
});

app.get('/ppm/all', function (req, res) {
    res.json(ppm);
});
app.get('/*', function (req, res) {
    res.json(404, {status: 'datafeed not found please refer to documentation'});
});

http.createServer(app).listen(3000, function () {
    console.log("Data Server ready at http://localhost:3000");
});
Run Code Online (Sandbox Code Playgroud)

代码中可能有错别字,因为我刚刚撕掉了很多块,因为适当的炮弹相当长,而且很多。我使用FOREVER函数使该服务器永久运行,因此它将在不打开shell命令的情况下运行

现在,我怀疑我可以执行某种fs.filewatch类型的函数,该函数将在每次更新JSON文件时重新启动服务器,但是重新启动服务器似乎有点麻烦,特别是当此数据每2-3分钟及以后更新一次时甚至更快。在重新启动过程中,仅需一个人执行请求或一个应用程序就请求数据即可引起问题。

有没有一种方法可以“重新读取”​​分配给var ppm的JSON文件(其他文件是静态的),还是重启服务器的唯一方法?

任何有关如何读取该文件并执行此操作的好主意将不胜感激,因为我相信有人会以一种更有效的方式进行操作。

当前的开发服务器是开源的(很多WIP),可以随时查看其功能

http://54.194.148.89:3000
Run Code Online (Sandbox Code Playgroud)

javascript json node.js express

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

Python列表:为什么.sort()比sorted()快得多?

我测量了对1000万条目列表进行排序所需的时间:

import time

a = range(10000000, 0, -1)
b = range(10000000, 0, -1)

start = time.time()
a.sort()
end = time.time()
print end - start

start = time.time()
sorted(b)
end = time.time()
print end - start
Run Code Online (Sandbox Code Playgroud)

我得到的输出:

0.272000074387
0.468999862671
Run Code Online (Sandbox Code Playgroud)

原因可能是因为sorted它更通用,但这与这篇帖子不一致, 差异在大型列表中变得微不足道.造成巨大差异的原因是什么?

我在32位Windows 7,Q6600处理器上使用python 2.7.3 32位.

python sorting

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

给定算法的最坏情况运行时间是多少

我在学术论文中被问过这个问题.请让我知道答案?

 arrayFind(x, A)
    i =0 ;
    while( i < n ) {
       if(x==A[i])
           return i;
       else 
           i = i+1; 
   }
 return –1;
Run Code Online (Sandbox Code Playgroud)

假设我们有一个算法,在二维 数组中find2D( )找到一个元素.该算法遍历各行,并在每一行上调用算法,直到找到或已搜索到所有行.xn x nAfind2D( )AarrayFind()xA

这种算法的最坏运行时间是多少?

一个.如果每行中的元素都已排序?
湾 如果每行中的元素没有排序?

algorithm

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

Java String简短哈希码

我想使用hashCode()String对象的java标准函数"实现"从Strings到short的哈希函数.我想出了以下简单的实现:

static short shortHashCode(String str)
{
   int strHashCode = str.hashCode();
   short shorterHashCode = (short) (strHashCode % Short.MAX_VALUE);
   return shorterHashCode;
}
Run Code Online (Sandbox Code Playgroud)
  1. 我的shortHashCode函数是一个很好的哈希函数吗?意思是碰撞的机会很小(两个不同的字符串有相同的哈希码接近1/Short.MAX_VALUE的可能性)?
  2. 有没有更好的方法来实现从字符串到短路的哈希函数?

java hash

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

Java TreeMap 时间复杂度 - lowerKey

lowerKey()Java 实现中操作的时间复杂度是TreeMap多少?

我认为它是 log(n) 但我在文档中的任何地方都找不到它。

更基本操作的复杂性有据可查:

此实现为 containsKey、get、put 和 remove 操作提供有保证的 log(n) 时间成本。

顺便说一句:我也对subMap(). 我猜 log(n) 复杂度lowerKey()将允许 log(n) 时间为常数 size subMap()

java time-complexity treemap

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

C++ 11构造函数继承不起作用

我尝试了以下代码:

struct Base {
    Base(int a) {}
};

struct Derived : Base {
    using Base::Base; // Inherit Base's constructors.
};

int _tmain(int argc, _TCHAR* argv[])
{
    Derived d(1);
}
Run Code Online (Sandbox Code Playgroud)

这不编译,我得到:

error C2664: 'Derived::Derived(const Derived &)' : cannot convert argument 1 from 'int' to 'const Derived &' 
Run Code Online (Sandbox Code Playgroud)

(无法找到相关的构造函数,它尝试调用默认的复制构造函数)

如何修复继承以便Derived d(1);编译?

c++ inheritance constructor c++11

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