Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:98644 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 31943 invoked from network); 27 Mar 2017 21:29:25 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 27 Mar 2017 21:29:25 -0000 Authentication-Results: pb1.pair.com smtp.mail=rowan.collins@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=rowan.collins@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.128.179 as permitted sender) X-PHP-List-Original-Sender: rowan.collins@gmail.com X-Host-Fingerprint: 209.85.128.179 mail-wr0-f179.google.com Received: from [209.85.128.179] ([209.85.128.179:35209] helo=mail-wr0-f179.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 7C/A7-33481-33489D85 for ; Mon, 27 Mar 2017 16:29:24 -0500 Received: by mail-wr0-f179.google.com with SMTP id u1so76463680wra.2 for ; Mon, 27 Mar 2017 14:29:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding; bh=3yXt7j1OAyCaTG7co18O9iJ3qXRDrh5H+lmWY/FTsHw=; b=FgE3xNRJZmy/EdbxVwExsGlPIKmKeihGPcHef20a4+c3KbodnrCbNgdlV4Q9rTFUF0 +hvxW9nKSPPeFLOyuS81SkrrDRKaPQ+UCecYnS6fy/4/ybvsg+7xKmUK4b4NufSNKgAh 0/ohcET3rIJzO4aM38RzE1iof1raxH7PEDxVbFSjCzPrHsRr+hrsSz0GA8rQi0zJi2kZ gClgNz/iLOKrnoRc6bSVRc6+XWhUpcVDs1QNbF8G2zMwaOLxFMtByP+dQSYISrMJ0Bs0 dGdrdHMJADPXCkVoX0Dvn/cku6lRbDa1ezWaH1QOva03YKLKEdRU2sNVEy/PVlqHQfOc E5yw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=3yXt7j1OAyCaTG7co18O9iJ3qXRDrh5H+lmWY/FTsHw=; b=jPbShWBwNbUgR2xGsjp+i3c3iuVzpMwIqLvw8Tg0VdbpxI7yoje61gHYaVpTcjpAua 3M1YujBuc8emsCIIexgKvSh2mqDL+jR97M4S5tSHtEJz+Crj41ZJ3lFTWG0C9S4lVkxF REzSQk6dHKb8VvFHgDQPWkd4JU56VwNS6jmDAzUGzWb8KI0LMAQkgve9Ptvt7KPZUHma oJcv2ZIrCWk3FQ0NXrdF1wdz3XBton/jaQ5jfgBQE9bGLLf/BK/V7mxB+ESHNsntYwvj L7nyjUgkl6u+3bohEcuN9MTIEC/q4rjAWjU9OenhUCtY95ByA4W6PGQuFTJa7ly7UlrF iQYw== X-Gm-Message-State: AFeK/H1KvjpDzR9YyopOTTXPjA2D/gpRkCb1VGBGa2eeyEQ5iuHDy7R7MXdvLtdHBngnBw== X-Received: by 10.28.20.148 with SMTP id 142mr11752393wmu.134.1490650160513; Mon, 27 Mar 2017 14:29:20 -0700 (PDT) Received: from ?IPv6:2a00:23c4:4bd2:6e00:f1ee:b7cf:4f84:3750? ([2a00:23c4:4bd2:6e00:f1ee:b7cf:4f84:3750]) by smtp.googlemail.com with ESMTPSA id w85sm982226wmw.1.2017.03.27.14.29.19 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 27 Mar 2017 14:29:19 -0700 (PDT) To: internals@lists.php.net References: Message-ID: <5276ebe0-ded4-9da4-053b-31e5d721b1b2@gmail.com> Date: Mon, 27 Mar 2017 22:29:16 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] RFC: operating system specific features From: rowan.collins@gmail.com (Rowan Collins) On 27/03/2017 19:28, David CARLIER wrote: > I wanted first to know if php source code can welcome oses specific > features or should it remain as separated php modules ? Hi David, I think there is not really a distinction between "PHP source code" and "separated modules", since pretty much everything above the syntax level is technically an "extension". As illustration, note that the really basic functions like string and array manipulation are in the directory "ext/standard"; obviously, you can't turn that module off, but it is just one of 72 that are distributed with official builds. The main difference is between "bundled" extensions and those on PECL (http://pecl.php.net). If what you're looking at would make sense as a group of functions / classes in its own right, it might be wise to work on it first as an independent extension on PECL. This gives you the freedom to present a proof of concept, release early and often, and make breaking changes based on experience with early adopters. Once it's mature, you can ask for it to be adopted into core, where you could remain as maintainer, but be constrained by the release process and compatibility promises of the main project. If it's a more natural fit for an existing extension, though, or more of a low-level implementation issue, I'd suggest going ahead and proposing it, and being open to suggestions of how best to proceed for that particular case. As for platform-specific features, there certainly are functions, and entire bundled extensions, that are platform-specific. Quickly glancing for obvious examples, I can see that ext/com_dotnet is Windows-only, while ext/posix is unavailable on Windows. Where possible, functionality is emulated such that it is available on as many platforms as possible, even if this means degraded functionality (uniqid() is an example that springs to mind), but sometimes you just want access to a feature that's unique to one platform. Regards, -- Rowan Collins [IMSoP]