首页 \ 问答 \ 检查是否存在财产(Check if property exists)

检查是否存在财产(Check if property exists)

是否有可能检查是否存在使用魔术设置器设置的属性?

class Test
{
    private $vars;

    public function __set($key, $value) {
        $this->vars[$key] = $value;
    }

    public function &__get($key)
    {
        return $this->vars[$key];
    }
}

$test = new Test;

$test->myvar = 'yay!';

if (magic_isset($test->myvar)) {
}

或者是不可能的,我只需要在我的班级设置另一个功能?


Is it possible to check if a property exists which are set using magic setter?

class Test
{
    private $vars;

    public function __set($key, $value) {
        $this->vars[$key] = $value;
    }

    public function &__get($key)
    {
        return $this->vars[$key];
    }
}

$test = new Test;

$test->myvar = 'yay!';

if (magic_isset($test->myvar)) {
}

Or isn't it possible and I just need to setup another function in my class?


原文:https://stackoverflow.com/questions/8763357
更新时间:2024-02-09 15:02

最满意答案

要求很简单。

您需要从每个客户端生成gcm令牌。

客户端A安装您的应用程序,并在启动/登录时(无论它适合您的业务逻辑),您将尝试生成此gcm令牌(让我们说10000是生成的令牌)。 并且您需要将此令牌发送到您的服务器以存储以便在将来的通信中使用它。 当你想与这个客户端A通信时,你需要告诉gcm服务器,

Hey Gcm server, send mobile with gcm token 10000 the following message "Event time updated"

因此,如果客户端b安装,它将生成其gcm令牌并以相同方式将其发送到服务器。

如果您有用户登录或某种方式可以唯一标识每个用户,建议将其与用户详细信息一起存储。 (以及名称,唯一ID等...)如果您没有登录,您仍然可以将令牌发送到服务器和商店,但是您放弃的是您希望向客户端A而不是B发送更新的情况。

来代码吧。

客户代码:

用于生成gcm令牌:

https://github.com/googlesamples/google-services/tree/master/android/gcm

生成后,您需要将此令牌发送到服务器

服务器代码:

服务器接收令牌并存储。

如果要在以后的某个时间点发送特定消息,可以将json数据或纯文本消息发送给客户端。 例如,以下是python示例。

import gcm
response = gcm.json_request(registration_ids=reg_ids, data=in_data, delay_while_idle=False)

希望这可以帮助。


The requirement is simple.

You need to generate gcm token from each of your client.

Client A installs your application and upon launch/login(wherever it fits in your business logic) you will try to generate this gcm token(let us say 10000 is the generated token) . And you need to send this token to your server to store for using it in future communication. when you want to communicate with this client A, you need to tell gcm server,

Hey Gcm server, send mobile with gcm token 10000 the following message "Event time updated"

So if client b installs, it will generate its gcm token and send it to server in same way.

In case you have user login or some way where each user can be identified uniquely, it is recommended to store it along with user details. (along with name, unique id, etc... ) If you do not have login, you can still send token to server and store but what you loose out is the cases where You want to send update to Client A but not B.

Coming to code point of it.

Client code:

For generating gcm token:

https://github.com/googlesamples/google-services/tree/master/android/gcm

after you generate you need to send this token to server

Server code:

server receives the token and stores.

When you want to send a particular message in later point of time, you can send json data or plain message to client. For example, Following is the python example.

import gcm
response = gcm.json_request(registration_ids=reg_ids, data=in_data, delay_while_idle=False)

Hope this helps.

相关问答

更多

相关文章

更多

最新问答

更多
  • 如何在Laravel 5.2中使用paginate与关系?(How to use paginate with relationships in Laravel 5.2?)
  • linux的常用命令干什么用的
  • 由于有四个新控制器,Auth刀片是否有任何变化?(Are there any changes in Auth blades due to four new controllers?)
  • 如何交换返回集中的行?(How to swap rows in a return set?)
  • 在ios 7中的UITableView部分周围绘制边界线(draw borderline around UITableView section in ios 7)
  • 使用Boost.Spirit Qi和Lex时的空白队长(Whitespace skipper when using Boost.Spirit Qi and Lex)
  • Java中的不可变类(Immutable class in Java)
  • WordPress发布查询(WordPress post query)
  • 如何在关系数据库中存储与IPv6兼容的地址(How to store IPv6-compatible address in a relational database)
  • 是否可以检查对象值的条件并返回密钥?(Is it possible to check the condition of a value of an object and JUST return the key?)
  • GEP分段错误LLVM C ++ API(GEP segmentation fault LLVM C++ API)
  • 绑定属性设置器未被调用(Bound Property Setter not getting Called)
  • linux ubuntu14.04版没有那个文件或目录
  • 如何使用JSF EL表达式在param中迭代变量(How to iterate over variable in param using JSF EL expression)
  • 是否有可能在WPF中的一个单独的进程中隔离一些控件?(Is it possible to isolate some controls in a separate process in WPF?)
  • 使用Python 2.7的MSI安装的默认安装目录是什么?(What is the default installation directory with an MSI install of Python 2.7?)
  • 寻求多次出现的表达式(Seeking for more than one occurrence of an expression)
  • ckeditor config.protectedSource不适用于editor.insertHtml上的html元素属性(ckeditor config.protectedSource dont work for html element attributes on editor.insertHtml)
  • linux只知道文件名,不知道在哪个目录,怎么找到文件所在目录
  • Actionscript:检查字符串是否包含域或子域(Actionscript: check if string contains domain or subdomain)
  • 将CouchDB与AJAX一起使用是否安全?(Is it safe to use CouchDB with AJAX?)
  • 懒惰地初始化AutoMapper(Lazily initializing AutoMapper)
  • 使用hasclass为多个div与一个按钮问题(using hasclass for multiple divs with one button Problems)
  • Windows Phone 7:检查资源是否存在(Windows Phone 7: Check If Resource Exists)
  • 无法在新线程中从FREContext调用getActivity()?(Can't call getActivity() from FREContext in a new thread?)
  • 在Alpine上升级到postgres96(/ usr / bin / pg_dump:没有这样的文件或目录)(Upgrade to postgres96 on Alpine (/usr/bin/pg_dump: No such file or directory))
  • 如何按部门显示报告(How to display a report by Department wise)
  • Facebook墙贴在需要访问令牌密钥后无法正常工作(Facebook wall post not working after access token key required)
  • Javascript - 如何在不擦除输入的情况下更改标签的innerText(Javascript - how to change innerText of label while not wiping out the input)
  • WooCommerce / WordPress - 不显示具有特定标题的产品(WooCommerce/WordPress - Products with specific titles are not displayed)