小编xil*_*il3的帖子

声明类属性/变量时,可以通过@property声明它吗?

我注意到一些生成的类只通过@property声明了类属性/变量,并且不在@interface中包含它们,因为:

@interface AddItemViewController : UITableViewController {

}

@property (nonatomic, retain) UITextField *itemName;
Run Code Online (Sandbox Code Playgroud)

我只是好奇,如果这是一种可接受的方式,或者如果这是出于不同的原因?

我通常这样做:

@interface AddItemViewController : UITableViewController {
  UITextField *itemName;
}

@property (nonatomic, retain) UITextField *itemName;
Run Code Online (Sandbox Code Playgroud)

我先在@interface中声明它,然后为它添加@property ......

*更新*

我只是想稍微更新一下,因为它对我来说仍然不是100%清楚.

我一直认为要声明一个@property,你首先需要先在@interface中声明它,然后我看到了这个:

@interface mInventoryAppDelegate : NSObject <UIApplicationDelegate> {

}

@property (nonatomic, retain) IBOutlet UIWindow *window;

@property (nonatomic, retain, readonly) NSManagedObjectContext *managedObjectContext;
@property (nonatomic, retain, readonly) NSManagedObjectModel *managedObjectModel;
@property (nonatomic, retain, readonly) NSPersistentStoreCoordinator *persistentStoreCoordinator;

- (void)saveContext;
- (NSURL *)applicationDocumentsDirectory;

@property (nonatomic, retain) IBOutlet UINavigationController *navigationController;

@end
Run Code Online (Sandbox Code Playgroud)

所有这些@property声明都只声明为@properties,而不是@interface.

例如,如果我不得不说NSString *myString-我可以宣布,在@interface而不是作为一个@property,仍然可以访问它没有问题,但getter和setter将不会创建.我也可以在两者中声明它.但是,如果我只是将其声明为@property,那会怎样呢? …

iphone objective-c

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

Symfony 2会话在通过AJAX调用创建后不会持久化

让我给你一个场景.我有一个调用/ auth的AJAX调用 - 该页面依次检查用户是否经过身份验证并设置了几个会话变量(下面的代码).

$session = $this->getRequest()->getSession();

$session->set('fbid', $fbid);
$session->set('name', $name);

// not sure if this is even needed - get the same with or without
//$session->save();
Run Code Online (Sandbox Code Playgroud)

现在,如果我转到另一个页面并尝试访问该会话,它将返回空白状态.

如果我在常规页面上设置这些会话(不是通过XMLHttpRequest/AJAX访问的那个),它可以正常工作.

以下是我的会话设置config.yml:

session:         
    cookie_lifetime:         3600
    cookie_httponly:         false
Run Code Online (Sandbox Code Playgroud)

我认为问题可能已经存在httponly,但是没有做到.

有什么建议?我错过了什么吗?

*更新*

这是我的安全/防火墙设置:

firewalls:
    dev:
        pattern:  ^/(_(profiler|wdt)|css|images|js)/
        security: false

    login:
        pattern:  ^/demo/secured/login$
        security: false

    secured_area:
        pattern:    ^/demo/secured/
        form_login:
            check_path: /demo/secured/login_check
            login_path: /demo/secured/login
        logout:
            path:   /demo/secured/logout
            target: /demo/
Run Code Online (Sandbox Code Playgroud)

我根本没有改变防火墙设置,而且据我所知,它不应该/auth通过XMLHttpRequest 影响调用.

*更新2*

我最终$session->shutdown()在2组之后添加(是的,我知道shutdown不是Session对象方法).它最终得到一个错误,但由于它开始工作,它实际上将它保存到$ _SESSION.因此,如果该错误迫使它保存到$ _SESSION,则必须有一个强制保存的实际方法.真奇怪..

php ajax session symfony symfony-2.1

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

使用 Flask 重构测试应用程序时导入错误

我一直按照以下网站上的说明进行操作:

https://flask.palletsprojects.com/en/2.0.x/patterns/packages/

我收到以下错误:

web_1  | Error: While importing 'passless', an ImportError was raised:
web_1  |
web_1  | Traceback (most recent call last):
web_1  |   File "/usr/local/lib/python3.9/site-packages/flask/cli.py", line 256, in locate_app
web_1  |     __import__(module_name)
web_1  |   File "/app/passless/__init__.py", line 4, in <module>
web_1  |     import passless.views
web_1  | ModuleNotFoundError: No module named 'passless.views'
Run Code Online (Sandbox Code Playgroud)

安装程序.py

from setuptools import setup

setup(
    name='passless',
    packages=['passless'],
    include_package_data=True,
    install_requires=[
        'flask',
    ],
)
Run Code Online (Sandbox Code Playgroud)

__init__.py

from flask import Flask
app = Flask(__name__)

import passless.views
Run Code Online (Sandbox Code Playgroud)

docker-compose.yaml

version: "3"
services:
  web: …
Run Code Online (Sandbox Code Playgroud)

python flask

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

Symfony构建所有,但不删除记录

我只是好奇是否有办法发出以下命令,但没有删除所有记录:

php symfony doctrine:build --all
Run Code Online (Sandbox Code Playgroud)

我问的原因是因为symfony项目将使用现有的数据库,该数据库已经有很多记录.该命令的使用将完全清除它并重新创建表,减去数据.

有任何想法吗?

php doctrine symfony1

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

如何在git中的另一个分支下创建分支?

我只是很好奇,因为我注意到一些存储库的分支设置如下:

git branch -a

master
remotes/origin/branch1
remotes/origin/branch2/lala
remotes/origin/branch2/yay
remotes/origin/branch3
remotes/origin/branch4
Run Code Online (Sandbox Code Playgroud)

我只是好奇他们如何做分支lalayaybranch2; 或者那不是分支?

任何见解?

git branch

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

Symfony电子邮件验证(不使用表单框架)

正如标题所示,我正在寻找一种使用Symfony框架验证电子邮件(或其他字符串格式)的方法(无需使用表单框架).

我做了一些搜索,但给出的每个例子都是使用Form类...

而且我知道我可以使用外部类或库,但我只是好奇我是否可以在Symfony中使用它可以工作.

这样的事情是理想的:

$email = "email@to.validate";

$validator = new sfEmailValidator(); // just using this as an example - I know it doesn't work :p

$validator->check($email); // returns true or false if it validates
Run Code Online (Sandbox Code Playgroud)

php validation symfony1 symfony-1.4

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

使用 AWS S3 CopyObject 命令时一直找不到密钥

尝试使用 copyObject 命令 (AWS S3) 时出现以下错误。我使用的是 AWS PHP SDK,代码如下:

$this->client->copyObject(array(
    'Bucket'     => 'lms-courses',
    'Key'        => 'ideasfile.zip',
    'CopySource' => "lms-courses/lalala.zip",
));
Run Code Online (Sandbox Code Playgroud)

在“ https://s3-us-west-2.amazonaws.com/lms-courses/ideasfile.zip ”上执行“CopyObject”时出错;AWS HTTP 错误:客户端错误:PUT https://s3-us-west-2.amazonaws.com/lms-courses/ideasfile.zip导致404 Not Found响应: NoSuchKey指定的密钥不存在。lalala.zipE698888(截断...) NoSuchKey(客户端):指定的密钥不存在。- NoSuchKey指定的密钥不存在。lalala.zipE698888912B810F7DfHtqN5Hls4hGdTGY/pVv36XZPzoM4mJ5fAdhJjEjDufNUArvKCrqN27SjiG06u5hnC8G8yPdzA=

一段时间以来,我一直在为这个错误而苦苦挣扎。存储桶lms-courses存在, 也存在ideasfile.zip。我什至手动将该文件添加到存储桶中,只是为了以这种方式对其进行测试 - 以防它没有正确上传或其他原因。

我不明白为什么它说密钥不存在,当它显然存在时 - 我正在查看它。

php amazon-s3 amazon-web-services aws-php-sdk aws-sdk

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

禁用JavaScript中的行

在PHP中,我可以使用#//或禁用代码行/* disabled codes */.

我们如何在JS中做到这一点?

javascript comments

-6
推荐指数
2
解决办法
3374
查看次数