1 | <?php defined('SYSPATH') OR die('No direct script access.'); |
||
10 | class Kohana_Jam_Behavior_Tokenable extends Jam_Behavior { |
||
11 | |||
12 | protected $_field = 'token'; |
||
13 | |||
14 | protected $_field_options = array(); |
||
15 | |||
16 | protected $_uppercase = FALSE; |
||
17 | |||
18 | protected $_token_function = 'Jam_Behavior_Tokenable::generate_token'; |
||
19 | |||
20 | public function initialize(Jam_Meta $meta, $name) |
||
26 | |||
27 | 10 | public function model_before_create(Jam_Model $model) |
|
34 | |||
35 | 11 | public static function generate_token() |
|
39 | |||
40 | 11 | public function new_token() |
|
51 | |||
52 | 10 | public function model_call_update_token(Jam_Model $model, Jam_Event_Data $data) |
|
62 | |||
63 | /** |
||
64 | * Generate a where_token method for Jam_Query_Builder_Select |
||
65 | * @param Jam_Query_Builder_Select $builder the builder object |
||
66 | * @param Jam_Event_Data $data |
||
67 | * @param string $token the token to search for |
||
68 | * @return void |
||
69 | */ |
||
70 | public function builder_call_where_token(Jam_Query_Builder_Select $builder, Jam_Event_Data $data, $token) |
||
74 | |||
75 | /** |
||
76 | * Generate a find_by_token method for Jam_Query_Builder_Select |
||
77 | * @param Jam_Query_Builder_Select $builder the builder object |
||
78 | * @param Jam_Event_Data $data |
||
79 | * @param string $token the token to search for |
||
80 | */ |
||
81 | public function builder_call_find_by_token(Jam_Query_Builder_Select $builder, Jam_Event_Data $data, $token) |
||
87 | |||
88 | /** |
||
89 | * Generate a find_by_token_insist method for Jam_Query_Builder_Select |
||
90 | * @param Jam_Query_Builder_Select $builder the builder object |
||
91 | * @param Jam_Event_Data $data |
||
92 | * @param string $token the token to search for |
||
93 | */ |
||
94 | public function builder_call_find_by_token_insist(Jam_Query_Builder_Select $builder, Jam_Event_Data $data, $token) |
||
100 | } |
||
101 |
If you implement
__call
and you know which methods are available, you can improve IDE auto-completion and static analysis by adding a @method annotation to the class.This is often the case, when
__call
is implemented by a parent class and only the child class knows which methods exist: