我目前在我的网站上设置节点,每个节点属于特定菜单(不是主要或辅助预建的菜单).
如何找出节点属于哪个菜单?
请考虑以下代码片段:
图表A:
$_REQUEST = json_decode(stripslashes(json_encode($_REQUEST, JSON_HEX_APOS)), true);
Run Code Online (Sandbox Code Playgroud)
图表B:
${'_REQUEST'} = json_decode(stripslashes(json_encode(${'_REQUEST'}, JSON_HEX_APOS)), true);
Run Code Online (Sandbox Code Playgroud)
图表C:
${'_' . 'REQUEST'} = json_decode(stripslashes(json_encode(${'_' . 'REQUEST'}, JSON_HEX_APOS)), true);
Run Code Online (Sandbox Code Playgroud)
两个展览A和B都完美地工作,展示C然而显示一个非常奇怪的错误信息:
注意:未定义的变量:_REQUEST
让它更奇怪的是,这只发生在$_REQUEST超全球,如果我尝试$_GET,$_POST或$_COOKIE所有实验工作正常而不提出错误通知.
我猜这是一个PHP bug?我正在跑步PHP 5.3.0.
我想弄清楚什么时候适合一个类同时具有静态和非静态函数.又名:
$obj = new ClassA;
$obj->doOOPStuff();
$something = ClassA::doStaticStuff();
Run Code Online (Sandbox Code Playgroud)
注意:此示例在PHP中完成,但问题是语言无关.
似乎如果你有一个要实例化的类,任何可以静态调用的函数,很可能属于另一个类.
有没有可行的案例,我会有一个使用静态和非静态成员的类?
所以,谈到工厂的主题,我想知道他们是如何建立的.
从我的立场,我可以看到3种类型的工厂:
一体
一个工厂,基本上包含应用程序中使用的所有类.感觉它只是为了拥有一个工厂而拥有一个工厂,而且并不真正感觉有条理.
示例(其中ClassA,Class B和ClassC没有任何共同之处,除非在同一个App中):
class Factory
{
public static function buildClassA()
public static function buildClassB()
public static function buildClassC()
}
Run Code Online (Sandbox Code Playgroud)
提供的代码示例使用PHP.但是,这个问题与语言无关.
内置工厂
下一个是将静态函数与常规函数混合,以便创建特殊的创建模式(请参阅此问题)
例:
class ClassA
{
public static function buildClass()
public function __construct()
}
Run Code Online (Sandbox Code Playgroud)
工厂在旁边
我能想到的最后一个是为个别班级或个别班级设立工厂.这似乎可变,以统一的方式使用.
示例(其中ClassA,B和C相关,并且1,2和3相关):
class FactoryAlpha
{
public static function buildClassA()
public static function buildClassB()
public static function buildClassC()
}
class FactoryNumeric
{
public static function buildClass1()
public static function buildClass2()
public static function buildClass3()
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:所有这些糟糕的想法,其中任何一个都是坏主意吗?还有其他创建工厂的方法吗?这些中的任何一个都是好主意吗?什么是创建工厂的好/最佳方式.
如何防止方法在子类中被覆盖,在?中缺少对其超类的实现的调用?
我知道[super methodName];有时会打电话来解决我的问题.
但是,如果其他人要使用我的父级并超越我的方法,不小心失去了打电话给超级,我该怎么办?
更多解释:
我创建了一个viewcontroller VC1,它有一个方法-(void)indexDidChange:(int)index { }.我在那里写了一些我需要每次都要执行的操作.我将这个名为SVC1的viewcontroller子类化,我需要-(void)indexDidChange:(int)index { }做一些其他操作,但同时VC1 -(void)indexDidChange:(int)index { }动作也需要执行.所以我需要打电话,
-(void)indexDidChange:(int)index {
[super indexDidChange:index];
}
Run Code Online (Sandbox Code Playgroud)
所以我决定改变VC1的功能,比如
-(void)indexDidChange:(int)index {
[self currentIndexDidChange:(int)index];
}
-(void)currentIndexDidChange:(int)index { }
Run Code Online (Sandbox Code Playgroud)
我需要 - (void)currentIndexDidChange:(int)index {}来覆盖和阻止 - (void)indexDidChange:(int)index {}来覆盖.
可能吗?
我想知道创建不可登录帐户的最佳做法是什么.在StackOverflow上,有一个社区Wiki帐户,我假设无法登录.
我应该如何为不可登录的帐户编写脚本?如果有一个我不想访问的帐户,我应该设置参数,就像你不能登录ID小于0的帐户一样吗?或者我应该只是手动定义配置ID中无法登录的ID?或者,还有更好的方法?
即使源代码可见,我的网站在IE上查看时似乎也没有显示任何元素或内容,但在Firefox和Chrome上它加载正常.怎么了???
我不记得曾经试图用IE加载我的网站,所以我无法确认它是否曾与IE合作过.请帮我调试= /.WADAFA!??!谢谢你的帮助
在网络应用程序中有一个要求我正在建立用户向他的朋友发送加入邀请的可能性.这些邀请通过Invitation模型存储在数据库中.用户可以一次发送多个邀请.
您认为更合适的是:在后端视图中一次发送所有电子邮件或在邀请中发送一封电子邮件post_save?
一次发送一封电子邮件会有很大的性能开销吗?
原始问题:
我读了RESTful网站.使用$ _SESSION是不好的.为什么不好?那么如何在不查找数据库的情况下对用户进行适当的身份验证以检查用户的角色?
我读到使用$ _SESSION是不好的.
http://www.recessframework.org/page/towards-restful-php-5-basic-tips
我正在创建一个网站,而不是PHP中的Web服务.而我正在努力使它更加RESTful.至少在精神上.
现在我正在重写使用Form标签POST的所有操作,并添加一个名为_method的隐藏值,删除操作将为"delete",更新操作将为"put".
但是,我不确定为什么建议不要使用$ _SESSION.我想知道为什么以及我该怎么做才能改进.
为了便于授权检查,我做的是登录用户后,用户名存储在$ _SESSION中.
每当用户导航到页面时,页面将检查用户名是否存储在$ _SESSION中,然后基于$ _SESSION检索包括数据库特权在内的所有信息,然后根据检索到的信息评估访问页面的授权.
我实施的方式是不是很糟糕?不RESTful?我如何提高性能和安全性?
谢谢.
php ×4
oop ×2
css ×1
debugging ×1
django ×1
drupal ×1
drupal-6 ×1
email ×1
factory ×1
javascript ×1
menu ×1
methods ×1
mysql ×1
objective-c ×1
overriding ×1
performance ×1
python ×1
rest ×1