Skip to content

Commit 1fc2fec

Browse files
duncan3dccmb69
authored andcommitted
Convert session functions arginfo to php stubs
1 parent ee41204 commit 1fc2fec

File tree

3 files changed

+236
-129
lines changed

3 files changed

+236
-129
lines changed

ext/session/session.c

Lines changed: 28 additions & 129 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
#include "rfc1867.h"
3939
#include "php_variables.h"
4040
#include "php_session.h"
41+
#include "session_arginfo.h"
4142
#include "ext/standard/php_random.h"
4243
#include "ext/standard/php_var.h"
4344
#include "ext/date/php_date.h"
@@ -2667,108 +2668,6 @@ static PHP_FUNCTION(session_register_shutdown)
26672668
}
26682669
/* }}} */
26692670

2670-
/* {{{ arginfo */
2671-
ZEND_BEGIN_ARG_INFO_EX(arginfo_session_name, 0, 0, 0)
2672-
ZEND_ARG_INFO(0, name)
2673-
ZEND_END_ARG_INFO()
2674-
2675-
ZEND_BEGIN_ARG_INFO_EX(arginfo_session_module_name, 0, 0, 0)
2676-
ZEND_ARG_INFO(0, module)
2677-
ZEND_END_ARG_INFO()
2678-
2679-
ZEND_BEGIN_ARG_INFO_EX(arginfo_session_save_path, 0, 0, 0)
2680-
ZEND_ARG_INFO(0, path)
2681-
ZEND_END_ARG_INFO()
2682-
2683-
ZEND_BEGIN_ARG_INFO_EX(arginfo_session_id, 0, 0, 0)
2684-
ZEND_ARG_INFO(0, id)
2685-
ZEND_END_ARG_INFO()
2686-
2687-
ZEND_BEGIN_ARG_INFO_EX(arginfo_session_create_id, 0, 0, 0)
2688-
ZEND_ARG_INFO(0, prefix)
2689-
ZEND_END_ARG_INFO()
2690-
2691-
ZEND_BEGIN_ARG_INFO_EX(arginfo_session_regenerate_id, 0, 0, 0)
2692-
ZEND_ARG_INFO(0, delete_old_session)
2693-
ZEND_END_ARG_INFO()
2694-
2695-
ZEND_BEGIN_ARG_INFO_EX(arginfo_session_decode, 0, 0, 1)
2696-
ZEND_ARG_INFO(0, data)
2697-
ZEND_END_ARG_INFO()
2698-
2699-
ZEND_BEGIN_ARG_INFO(arginfo_session_void, 0)
2700-
ZEND_END_ARG_INFO()
2701-
2702-
ZEND_BEGIN_ARG_INFO_EX(arginfo_session_set_save_handler, 0, 0, 1)
2703-
ZEND_ARG_INFO(0, open)
2704-
ZEND_ARG_INFO(0, close)
2705-
ZEND_ARG_INFO(0, read)
2706-
ZEND_ARG_INFO(0, write)
2707-
ZEND_ARG_INFO(0, destroy)
2708-
ZEND_ARG_INFO(0, gc)
2709-
ZEND_ARG_INFO(0, create_sid)
2710-
ZEND_ARG_INFO(0, validate_sid)
2711-
ZEND_ARG_INFO(0, update_timestamp)
2712-
ZEND_END_ARG_INFO()
2713-
2714-
ZEND_BEGIN_ARG_INFO_EX(arginfo_session_cache_limiter, 0, 0, 0)
2715-
ZEND_ARG_INFO(0, cache_limiter)
2716-
ZEND_END_ARG_INFO()
2717-
2718-
ZEND_BEGIN_ARG_INFO_EX(arginfo_session_cache_expire, 0, 0, 0)
2719-
ZEND_ARG_INFO(0, new_cache_expire)
2720-
ZEND_END_ARG_INFO()
2721-
2722-
ZEND_BEGIN_ARG_INFO_EX(arginfo_session_set_cookie_params, 0, 0, 1)
2723-
ZEND_ARG_INFO(0, lifetime_or_options)
2724-
ZEND_ARG_INFO(0, path)
2725-
ZEND_ARG_INFO(0, domain)
2726-
ZEND_ARG_INFO(0, secure)
2727-
ZEND_ARG_INFO(0, httponly)
2728-
ZEND_END_ARG_INFO()
2729-
2730-
ZEND_BEGIN_ARG_INFO(arginfo_session_class_open, 0)
2731-
ZEND_ARG_INFO(0, save_path)
2732-
ZEND_ARG_INFO(0, session_name)
2733-
ZEND_END_ARG_INFO()
2734-
2735-
ZEND_BEGIN_ARG_INFO(arginfo_session_class_close, 0)
2736-
ZEND_END_ARG_INFO()
2737-
2738-
ZEND_BEGIN_ARG_INFO(arginfo_session_class_read, 0)
2739-
ZEND_ARG_INFO(0, key)
2740-
ZEND_END_ARG_INFO()
2741-
2742-
ZEND_BEGIN_ARG_INFO(arginfo_session_class_write, 0)
2743-
ZEND_ARG_INFO(0, key)
2744-
ZEND_ARG_INFO(0, val)
2745-
ZEND_END_ARG_INFO()
2746-
2747-
ZEND_BEGIN_ARG_INFO(arginfo_session_class_destroy, 0)
2748-
ZEND_ARG_INFO(0, key)
2749-
ZEND_END_ARG_INFO()
2750-
2751-
ZEND_BEGIN_ARG_INFO(arginfo_session_class_gc, 0)
2752-
ZEND_ARG_INFO(0, maxlifetime)
2753-
ZEND_END_ARG_INFO()
2754-
2755-
ZEND_BEGIN_ARG_INFO(arginfo_session_class_create_sid, 0)
2756-
ZEND_END_ARG_INFO()
2757-
2758-
ZEND_BEGIN_ARG_INFO(arginfo_session_class_validateId, 0)
2759-
ZEND_ARG_INFO(0, key)
2760-
ZEND_END_ARG_INFO()
2761-
2762-
ZEND_BEGIN_ARG_INFO(arginfo_session_class_updateTimestamp, 0)
2763-
ZEND_ARG_INFO(0, key)
2764-
ZEND_ARG_INFO(0, val)
2765-
ZEND_END_ARG_INFO()
2766-
2767-
ZEND_BEGIN_ARG_INFO_EX(arginfo_session_start, 0, 0, 0)
2768-
ZEND_ARG_INFO(0, options) /* array */
2769-
ZEND_END_ARG_INFO()
2770-
/* }}} */
2771-
27722671
/* {{{ session_functions[]
27732672
*/
27742673
static const zend_function_entry session_functions[] = {
@@ -2779,66 +2678,66 @@ static const zend_function_entry session_functions[] = {
27792678
PHP_FE(session_create_id, arginfo_session_create_id)
27802679
PHP_FE(session_regenerate_id, arginfo_session_regenerate_id)
27812680
PHP_FE(session_decode, arginfo_session_decode)
2782-
PHP_FE(session_encode, arginfo_session_void)
2681+
PHP_FE(session_encode, arginfo_session_encode)
27832682
PHP_FE(session_start, arginfo_session_start)
2784-
PHP_FE(session_destroy, arginfo_session_void)
2785-
PHP_FE(session_unset, arginfo_session_void)
2786-
PHP_FE(session_gc, arginfo_session_void)
2683+
PHP_FE(session_destroy, arginfo_session_destroy)
2684+
PHP_FE(session_unset, arginfo_session_unset)
2685+
PHP_FE(session_gc, arginfo_session_gc)
27872686
PHP_FE(session_set_save_handler, arginfo_session_set_save_handler)
27882687
PHP_FE(session_cache_limiter, arginfo_session_cache_limiter)
27892688
PHP_FE(session_cache_expire, arginfo_session_cache_expire)
27902689
PHP_FE(session_set_cookie_params, arginfo_session_set_cookie_params)
2791-
PHP_FE(session_get_cookie_params, arginfo_session_void)
2792-
PHP_FE(session_write_close, arginfo_session_void)
2793-
PHP_FE(session_abort, arginfo_session_void)
2794-
PHP_FE(session_reset, arginfo_session_void)
2795-
PHP_FE(session_status, arginfo_session_void)
2796-
PHP_FE(session_register_shutdown, arginfo_session_void)
2797-
PHP_FALIAS(session_commit, session_write_close, arginfo_session_void)
2690+
PHP_FE(session_get_cookie_params, arginfo_session_get_cookie_params)
2691+
PHP_FE(session_write_close, arginfo_session_write_close)
2692+
PHP_FE(session_abort, arginfo_session_abort)
2693+
PHP_FE(session_reset, arginfo_session_reset)
2694+
PHP_FE(session_status, arginfo_session_status)
2695+
PHP_FE(session_register_shutdown, arginfo_session_register_shutdown)
2696+
PHP_FALIAS(session_commit, session_write_close, arginfo_session_commit)
27982697
PHP_FE_END
27992698
};
28002699
/* }}} */
28012700

28022701
/* {{{ SessionHandlerInterface functions[]
28032702
*/
28042703
static const zend_function_entry php_session_iface_functions[] = {
2805-
PHP_ABSTRACT_ME(SessionHandlerInterface, open, arginfo_session_class_open)
2806-
PHP_ABSTRACT_ME(SessionHandlerInterface, close, arginfo_session_class_close)
2807-
PHP_ABSTRACT_ME(SessionHandlerInterface, read, arginfo_session_class_read)
2808-
PHP_ABSTRACT_ME(SessionHandlerInterface, write, arginfo_session_class_write)
2809-
PHP_ABSTRACT_ME(SessionHandlerInterface, destroy, arginfo_session_class_destroy)
2810-
PHP_ABSTRACT_ME(SessionHandlerInterface, gc, arginfo_session_class_gc)
2704+
PHP_ABSTRACT_ME(SessionHandlerInterface, open, arginfo_class_SessionHandlerInterface_open)
2705+
PHP_ABSTRACT_ME(SessionHandlerInterface, close, arginfo_class_SessionHandlerInterface_close)
2706+
PHP_ABSTRACT_ME(SessionHandlerInterface, read, arginfo_class_SessionHandlerInterface_read)
2707+
PHP_ABSTRACT_ME(SessionHandlerInterface, write, arginfo_class_SessionHandlerInterface_write)
2708+
PHP_ABSTRACT_ME(SessionHandlerInterface, destroy, arginfo_class_SessionHandlerInterface_destroy)
2709+
PHP_ABSTRACT_ME(SessionHandlerInterface, gc, arginfo_class_SessionHandlerInterface_gc)
28112710
PHP_FE_END
28122711
};
28132712
/* }}} */
28142713

28152714
/* {{{ SessionIdInterface functions[]
28162715
*/
28172716
static const zend_function_entry php_session_id_iface_functions[] = {
2818-
PHP_ABSTRACT_ME(SessionIdInterface, create_sid, arginfo_session_class_create_sid)
2717+
PHP_ABSTRACT_ME(SessionIdInterface, create_sid, arginfo_class_SessionIdInterface_create_sid)
28192718
PHP_FE_END
28202719
};
28212720
/* }}} */
28222721

28232722
/* {{{ SessionUpdateTimestampHandler functions[]
28242723
*/
28252724
static const zend_function_entry php_session_update_timestamp_iface_functions[] = {
2826-
PHP_ABSTRACT_ME(SessionUpdateTimestampHandlerInterface, validateId, arginfo_session_class_validateId)
2827-
PHP_ABSTRACT_ME(SessionUpdateTimestampHandlerInterface, updateTimestamp, arginfo_session_class_updateTimestamp)
2725+
PHP_ABSTRACT_ME(SessionUpdateTimestampHandlerInterface, validateId, arginfo_class_SessionUpdateTimestampHandlerInterface_validateId)
2726+
PHP_ABSTRACT_ME(SessionUpdateTimestampHandlerInterface, updateTimestamp, arginfo_class_SessionUpdateTimestampHandlerInterface_updateTimestamp)
28282727
PHP_FE_END
28292728
};
28302729
/* }}} */
28312730

28322731
/* {{{ SessionHandler functions[]
28332732
*/
28342733
static const zend_function_entry php_session_class_functions[] = {
2835-
PHP_ME(SessionHandler, open, arginfo_session_class_open, ZEND_ACC_PUBLIC)
2836-
PHP_ME(SessionHandler, close, arginfo_session_class_close, ZEND_ACC_PUBLIC)
2837-
PHP_ME(SessionHandler, read, arginfo_session_class_read, ZEND_ACC_PUBLIC)
2838-
PHP_ME(SessionHandler, write, arginfo_session_class_write, ZEND_ACC_PUBLIC)
2839-
PHP_ME(SessionHandler, destroy, arginfo_session_class_destroy, ZEND_ACC_PUBLIC)
2840-
PHP_ME(SessionHandler, gc, arginfo_session_class_gc, ZEND_ACC_PUBLIC)
2841-
PHP_ME(SessionHandler, create_sid, arginfo_session_class_create_sid, ZEND_ACC_PUBLIC)
2734+
PHP_ME(SessionHandler, open, arginfo_class_SessionHandlerInterface_open, ZEND_ACC_PUBLIC)
2735+
PHP_ME(SessionHandler, close, arginfo_class_SessionHandlerInterface_close, ZEND_ACC_PUBLIC)
2736+
PHP_ME(SessionHandler, read, arginfo_class_SessionHandlerInterface_read, ZEND_ACC_PUBLIC)
2737+
PHP_ME(SessionHandler, write, arginfo_class_SessionHandlerInterface_write, ZEND_ACC_PUBLIC)
2738+
PHP_ME(SessionHandler, destroy, arginfo_class_SessionHandlerInterface_destroy, ZEND_ACC_PUBLIC)
2739+
PHP_ME(SessionHandler, gc, arginfo_class_SessionHandlerInterface_gc, ZEND_ACC_PUBLIC)
2740+
PHP_ME(SessionHandler, create_sid, arginfo_class_SessionIdInterface_create_sid, ZEND_ACC_PUBLIC)
28422741
PHP_FE_END
28432742
};
28442743
/* }}} */

ext/session/session.stub.php

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
<?php
2+
3+
/** @return string|false */
4+
function session_name(string $name = UNKNOWN) {}
5+
6+
/** @return string|false */
7+
function session_module_name(string $module = UNKNOWN) {}
8+
9+
/** @return string|false */
10+
function session_save_path(string $path = UNKNOWN) {}
11+
12+
/** @return string|false */
13+
function session_id(string $id = UNKNOWN) {}
14+
15+
/** @return string|false */
16+
function session_create_id(string $prefix = "") {}
17+
18+
function session_regenerate_id(bool $delete_old_session = false): bool {}
19+
20+
function session_decode(string $data): bool {}
21+
22+
/** @return string|false */
23+
function session_encode() {}
24+
25+
function session_destroy(): bool {}
26+
27+
function session_unset(): bool {}
28+
29+
/** @return int|false */
30+
function session_gc() {}
31+
32+
function session_get_cookie_params(): array {}
33+
34+
function session_write_close(): bool {}
35+
36+
function session_abort(): bool {}
37+
38+
function session_reset(): bool {}
39+
40+
function session_status(): int {}
41+
42+
function session_register_shutdown(): void {}
43+
44+
function session_commit(): bool {}
45+
46+
function session_set_save_handler($open, $close = null, $read = null, $write = null, $destroy = null, $gc = null, $create_sid = null, $validate_sid = null, $update_timestamp = null): bool {}
47+
48+
/** @return string|false */
49+
function session_cache_limiter(string $cache_limiter = UNKNOWN) {}
50+
51+
/** @return int|false */
52+
function session_cache_expire(?int $new_cache_expire = null) {}
53+
54+
function session_set_cookie_params($lifetime_or_options, string $path = UNKNOWN, string $domain = "", ?bool $secure = null, ?bool $httponly = null): bool {}
55+
56+
function session_start(array $options = []): bool {}
57+
58+
interface SessionHandlerInterface
59+
{
60+
/** @return bool */
61+
function open(string $save_path, string $session_name);
62+
63+
/** @return bool */
64+
function close();
65+
66+
/** @return string */
67+
function read(string $key);
68+
69+
/** @return bool */
70+
function write(string $key, string $val);
71+
72+
/** @return bool */
73+
function destroy(string $key);
74+
75+
/** @return int|bool */
76+
function gc(int $maxlifetime);
77+
}
78+
79+
interface SessionIdInterface
80+
{
81+
/** @return string */
82+
function create_sid();
83+
}
84+
85+
interface SessionUpdateTimestampHandlerInterface
86+
{
87+
/** @return bool */
88+
function validateId(string $key);
89+
90+
/** @return bool */
91+
function updateTimestamp(string $key, string $val);
92+
}

0 commit comments

Comments
 (0)