PHP utility collection with hybrid and fluent APIs.

βŒˆβŒ‹ βŽ‡ branch:  hybrid7 libraries


Timeline

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

49 check-ins

2015-02-23
14:21
Moved out to <a href=http://fossil.include-once.org/phrep/>separate repo</a>. Leaf check-in: 57fe1833b2 user: mario tags: trunk
2015-02-20
15:34
Introduce `preserve` pragma/state to retain file/line/output between includes. Add complex macro construction code. Safeguard basic macros against absent args. Recheck valid function names in MacroExpressions. check-in: 40155129df user: mario tags: trunk
2015-02-19
12:48
Introduce #srcout preprocessor directive for conditional source output. Split out MacroInjector functionality from MacroProcessor. Add `keep_empty` and `quiet` pragmas. Allow more spacing in MACRO(arg, list) declarations. Support ## varname concatenation in basic macros. Light reshuffling of operator precedence and operand polling for || and &&. Use proper namespace structuring for merging with `phrep.php` cmdline wrapper. check-in: a41bba31c8 user: mario tags: trunk
2015-02-18
16:27
Fix RX_DIRECTIVES multi-line string extraction, and strip <kbd>\\ NL</kbd> combo. Colorize stderr() messages, prepare for quiet mode. Split d_pragma() handler into value copying and p_hooks() callbacks. check-in: c32a30469b user: mario tags: trunk
2015-02-17
23:35
New #pragma options (dirs=/include:/path, omit=*.h, comments=1, macros=1, fail=0). Longer introduction comment. More regexps moved into const RX_* section. check-in: 5216d6be55 user: mario tags: trunk
19:05
Externalize some common macros into `defaults.ph`. (Bundle into separate repository..) Add #pragma(interpolate=regex) substitution names ("erb" and "phpp") and optional delimiters via #pragma(interpolate=regex ##( )##). Start tracking parsed line numbers. Safeguard #include against most commented-out PHP include(); statements. Shortcut find_include for absolute paths. Join tokenizer macro searching and replacement for basic+complex macros, inject [T_FUNC_C, $repl, 0] instead of literal into token stream. Add MacroExpression shortcuts for "0" and "1" literals. Fix expr->run operand order for GT/LT/E comparisions. check-in: 3a12ba3743 user: mario tags: trunk
14:32
Fix p_stderr callback and RX_DIRECTIVES alternative list. Change to weird variable name $ΒΆ instead of $state (maybe rename flags to lvl,act,end later). check-in: acded28fdd user: mario tags: trunk
07:09
Implement tokenizer and regex constant/macro replacement (incomplete). Fix condition block nesting level tracking. Rename main func to `on()`. Implement #include searching and omitting .h output. Change collected macro definitions to contain pre-parsed param names. check-in: bcf53d2741 user: mario tags: trunk
2015-02-16
20:16
Basic version, #directive preprocessing, and basic expression evaluation. No tokenization and constant / macro interpolation yet. check-in: 9dea381ebc user: mario tags: trunk
20:15
Add ArrayObject compatiblity (arrayExchange, getArrayCopy). check-in: 037bab0b64 user: mario tags: trunk
20:14
Prepare macro preprocessing build. check-in: 0627bb6e05 user: mario tags: trunk
2015-01-13
18:50
Separate Ε‚::$app to be static, but Ε‚()->section= and $min_prio to be logger-group specific property. Reorder class defaults, compact introduction text. Fix error handler context usage as :vars, apply :backtrace manually. check-in: 5cd584fcc8 user: mario tags: trunk
18:47
Obsolete/unused bindings for Inspekt check-in: 2734b95caa user: mario tags: trunk
2015-01-07
15:32
Silently return NULL for absent ->column data from first result row. check-in: 1cfd351bc9 user: mario tags: trunk
2015-01-06
17:29
Remove debugging examples. check-in: b453cef6ba user: mario tags: trunk
14:04
Cleaned up intro documentation, externalized and detailed in Wiki now. Prepare tree grouping via `:p`, order injector calls last, fix :version meta extractor. check-in: e71d6c53c0 user: mario tags: trunk
14:02
Get rid of tree.php. check-in: 05ee16deb6 user: mario tags: trunk
2015-01-05
07:48
Highly experimental logging API and SQLite backend. Provides parameterized and hybrid function signature, allows storing array structures with grouped events. State: pretty basic prototype. check-in: 5ee688036b user: mario tags: trunk
07:46
Add newline normalizer `->nl` check-in: 2915ca3714 user: mario tags: trunk
2014-12-28
16:33
PHP bundles to DEB/RPM conversion now handled/superseded by <a href="http://fossil.include-once.org/xpm/wiki/src">`xpm -s src`</a>. check-in: 9d07f1d499 user: mario tags: trunk
16:31
Obsolete. db() is just used as plain PDO wrapper anyway. check-in: e6637f6024 user: mario tags: trunk
16:30
Array key traversion. (No idea why I kept this here, not related to the rest of h7.) check-in: ef20a08626 user: mario tags: trunk
16:24
Fix template() description. State: incomplete. (Had a slightly more clever version lounging around somewhere..) check-in: 39a0feb20f user: mario tags: trunk
2014-08-14
07:43
Relaxed _http() filter to allow leading numerics in host name, Added missing `p` tag in _strip_markup(). check-in: d467a4be29 user: mario tags: trunk
07:41
ASCII documentation box for db() placeholder syntax and uses. check-in: f9ecfa3ce9 user: mario tags: trunk
07:39
Added static $defaults[] array instead of built-in constructor calls. Introduces ->assert() to test CURL/HTTP properties after ->exec(), and possibly drop the result on mismatches. check-in: 49b2714f5f user: mario tags: trunk
07:38
Restructured directory layout. check-in: 4b0715e805 user: mario tags: trunk
2014-07-27
16:04
Document :* expression args wrapping, allow literal SQL parts or param arrays for rejoining. check-in: 8020d1afd4 user: mario tags: trunk
2014-07-21
14:10
Refixed `:key` quoting for expand_assoc_* callback check-in: 0612228e65 user: mario tags: trunk
2014-07-19
18:44
Restructured into ->fold() and ->expand_syntax() handlers; allowed `:*` placeholder to contain nested expressions. check-in: dbeeffd82d user: mario tags: trunk
16:04
New placeholder :* for minimal query interpolation ["AND x IN (??)", $params] check-in: 461f07a703 user: mario tags: trunk
2014-07-17
14:09
Different rx delimiter for strip_markup. check-in: dbd69cf2a0 user: mario tags: trunk
14:08
Allow more params for ->into() wrapping. check-in: 585c3b9373 user: mario tags: trunk
2014-07-11
09:26
<b>db()</b> now split up into hybrid constructor and dispatcher, and PDO db_wrap{} just for extended placeholders; betters docs inline. check-in: 7048ca4be9 user: mario tags: trunk
09:22
Introduced <b>_slug()</b> and <b>_strip_markup()</b> filters. Prepated for better doc comments. check-in: 9935d3cfac user: mario tags: trunk
2014-06-27
17:38
Permit static filter invocation `input::text($str)` without underscore prefix, allow ->has() and ->no() to probe a list of key names, extra parameter/argument support for bound global functions, fixed _disallow Exception syntax, and make _length() now not only to slice but also declare a minimum string length. check-in: e42563785e user: mario tags: trunk
2014-06-18
15:54
Simplified __filter list back to also allow plain callback names instead of [name, args[]]. Restructured filter() varname checks. check-in: 23a6b15a36 user: mario tags: trunk
2014-06-17
02:27
Permit $_SERVER->method(["name"]) syntax as well (varnames get unpacked from single-entry array). check-in: d63339146a user: mario tags: trunk
2014-03-21
21:45
Introduce ellipse … syntax for merging literal params into filter method names. check-in: 3a4f2387a0 user: mario tags: trunk
2014-03-17
14:47
Close all curl_multi{} handles implicitly in ->exec() calls. check-in: 355bb2a455 user: mario tags: trunk
14:46
Allows tree($array)->{'2,0,3'} traversal access. check-in: 2025631d71 user: mario tags: trunk
2014-03-09
02:17
Allow input{} to utilize Inspekt filters. check-in: 3368c55fe3 user: mario tags: trunk
02:15
Trivial AR table handler building. check-in: dcaf21a373 user: mario tags: trunk
02:15
Converts php plugins into .deb or .rpm packages (using epm currently) check-in: a5113eb7a6 user: mario tags: trunk
02:12
Templating interface concept. check-in: 31f60c3bdd user: mario tags: trunk
02:11
Wrapper for superglobal input array $_GET, $_POST, $_REQUEST, $_SERVER which add simple to use and fine-grained filtering functions. check-in: d367a57c9d user: mario tags: trunk
02:11
Simple db() interface with support for extended placeholders ?? ?: ?? :& :| :, for array binding. check-in: b5c377d66f user: mario tags: trunk
02:06
fluent curl{} and curl_multi{} wrapper check-in: b95a254f4c user: mario tags: trunk
02:02
initial empty check-in check-in: da152c56bc user: mario tags: trunk