{"action":"created","issue":{"url":"https://api.github.com/repos/phalcon/zephir/issues/1043","labels_url":"https://api.github.com/repos/phalcon/zephir/issues/1043/labels{/name}","comments_url":"https://api.github.com/repos/phalcon/zephir/issues/1043/comments","events_url":"https://api.github.com/repos/phalcon/zephir/issues/1043/events","html_url":"https://github.com/phalcon/zephir/pull/1043","id":98990499,"number":1043,"title":"Initial support for PHP7","user":{"login":"steffengy","id":1194855,"avatar_url":"https://avatars.githubusercontent.com/u/1194855?v=3","gravatar_id":"","url":"https://api.github.com/users/steffengy","html_url":"https://github.com/steffengy","followers_url":"https://api.github.com/users/steffengy/followers","following_url":"https://api.github.com/users/steffengy/following{/other_user}","gists_url":"https://api.github.com/users/steffengy/gists{/gist_id}","starred_url":"https://api.github.com/users/steffengy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/steffengy/subscriptions","organizations_url":"https://api.github.com/users/steffengy/orgs","repos_url":"https://api.github.com/users/steffengy/repos","events_url":"https://api.github.com/users/steffengy/events{/privacy}","received_events_url":"https://api.github.com/users/steffengy/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":12,"created_at":"2015-08-04T14:57:33Z","updated_at":"2015-08-09T15:41:06Z","closed_at":"2015-08-06T00:04:19Z","pull_request":{"url":"https://api.github.com/repos/phalcon/zephir/pulls/1043","html_url":"https://github.com/phalcon/zephir/pull/1043","diff_url":"https://github.com/phalcon/zephir/pull/1043.diff","patch_url":"https://github.com/phalcon/zephir/pull/1043.patch"},"body":"This PR provides only an \"intermediate refactoring\" of the current source code,\r\nwhich is not the abstract state zephir would need to support PHP code generation,\r\nwith total separation of backends.\r\n\r\nThis PR does only aim to provide PHP7 compatibility and therefor required\r\nsome refactoring, which was done in a limited extent.\r\n\r\nStuff which would have to be done for that:\r\n-\r\n- Move the operator/statement/optimizer **logic that's depending on the backend** to \r\nclasses of the backend (which currently partly is just in-place in the old files with conditionals)<br/>\r\nSo you would have a class providing the **general implementation**, which is **shared** between backends (common code for validating parameters, checking input, ...)\r\n<br/>and a version per backend which handles **code generation** (and temp variable usage, ...)\r\n\r\nThis PR\r\n====\r\n- provides initial support for PHP7 (ZE3) Extensions (compiler and kernel support)<br/>\r\n(testcases pass, **except preg-match**, requires proper reference support in zephir)\r\n\r\nTodos\r\n===\r\n- [x] compare generated sources for ZE2\r\n    - generated code for zephir tests seems to match\r\n- [x] complete some backend definitions (in BaseBackend)\r\n- [ ] general cleanup, eventually more performance tweaks/documentation\r\n"},"comment":{"url":"https://api.github.com/repos/phalcon/zephir/issues/comments/129199593","html_url":"https://github.com/phalcon/zephir/pull/1043#issuecomment-129199593","issue_url":"https://api.github.com/repos/phalcon/zephir/issues/1043","id":129199593,"user":{"login":"flip111","id":2244480,"avatar_url":"https://avatars.githubusercontent.com/u/2244480?v=3","gravatar_id":"","url":"https://api.github.com/users/flip111","html_url":"https://github.com/flip111","followers_url":"https://api.github.com/users/flip111/followers","following_url":"https://api.github.com/users/flip111/following{/other_user}","gists_url":"https://api.github.com/users/flip111/gists{/gist_id}","starred_url":"https://api.github.com/users/flip111/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flip111/subscriptions","organizations_url":"https://api.github.com/users/flip111/orgs","repos_url":"https://api.github.com/users/flip111/repos","events_url":"https://api.github.com/users/flip111/events{/privacy}","received_events_url":"https://api.github.com/users/flip111/received_events","type":"User","site_admin":false},"created_at":"2015-08-09T15:41:06Z","updated_at":"2015-08-09T15:41:06Z","body":"@steffengy that's good to know. Would you know how to use phpize on windows? Some sources claim it's not possible\r\n\r\n[The windows version of phpize seems to be broken](http://www.sitepoint.com/compiling-php-from-source-on-windows/) (2012)\r\n[On Windows, you don't call phpize but instead you call buildconf.bat.](http://blog.benoitblanchon.fr/build-php-extension-on-windows/) (2015)\r\n\r\nMyself if i run `phpize.bat` i get:\r\n```\r\nInput Error: Can not find script file \"D:\\dev\\php7\\bin\\phpdev\\vc14\\x86\\win32\\build\\script\\phpize.js\".\r\nNow run 'configure --help'\r\n```\r\nBecause of https://github.com/php/php-src/blob/PHP-7.0.0/win32/build/phpize.bat#L2-L3 where it sets the current directory and then the script directory is not available in the current directory.\r\n\r\nIs this a candidate for the php bugtracker, or am i doing wrong here and it should be possible like you say?"}}