Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:82371 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 91377 invoked from network); 10 Feb 2015 12:10:52 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 10 Feb 2015 12:10:52 -0000 Authentication-Results: pb1.pair.com header.from=lisachenko.it@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=lisachenko.it@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 74.125.82.41 as permitted sender) X-PHP-List-Original-Sender: lisachenko.it@gmail.com X-Host-Fingerprint: 74.125.82.41 mail-wg0-f41.google.com Received: from [74.125.82.41] ([74.125.82.41:51290] helo=mail-wg0-f41.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 72/46-47508-B45F9D45 for ; Tue, 10 Feb 2015 07:10:52 -0500 Received: by mail-wg0-f41.google.com with SMTP id b13so13026587wgh.0 for ; Tue, 10 Feb 2015 04:10:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=2ejwCpp/95lZa5S+vG7dhpQP0xrX/6kWb//tHGPNQuE=; b=aSue7N2G7ugC3X1n1Ng6geaTfgy2ppHj9aIk6eCuNEUsEXSxtY5vP03OCLUST4eeXR 1HSoHhTmmlCFNU+mC2dmBsiMlfrDgPnw5GfTeYRhd+8gRTOtmT9TEvFE9Sk+MP3ofqCP ijbABLkdoDuyRSChTFTRlbjzrGUpcG8JL5K3kxpxruNqyCvTe7lj09mh27d1hFLQQHbG E6RUW8sGB8Ecq/X565eO9xomA2np9j2YsjVZtRTT7isH4/73oEdE4+jU9KDnzs7CTY1c 0nHp4gfWIEXmsBMGSiF5Y7zeNDHzAGFJ0OycZTUIwdVsvn+1MRzXYZP7wXStGFv6nQyV jEKA== MIME-Version: 1.0 X-Received: by 10.180.37.33 with SMTP id v1mr36006953wij.76.1423570249195; Tue, 10 Feb 2015 04:10:49 -0800 (PST) Received: by 10.194.154.229 with HTTP; Tue, 10 Feb 2015 04:10:49 -0800 (PST) In-Reply-To: References: <54D7ED22.3080001@gmail.com> <54D9DE4B.7030509@lsces.co.uk> Date: Tue, 10 Feb 2015 15:10:49 +0300 Message-ID: To: Patrick Schaaf Cc: internals Content-Type: multipart/alternative; boundary=e89a8f6476f30456f5050ebac761 Subject: Re: [PHP-DEV] Design by Contract From: lisachenko.it@gmail.com (Alexander Lisachenko) --e89a8f6476f30456f5050ebac761 Content-Type: text/plain; charset=UTF-8 2015-02-10 14:56 GMT+03:00 Patrick Schaaf : > Ahem. Any open ended API-for-frameworks will A) force me to pick a > framework and bend to the way it wants these things to look, and B) result > in fragmentation and incompatibilities for any two pieces of code/library > developed with different such frameworks in mind. That will be a total mess. It's another task for another people, typically for standartization group, like PSR, JSR, PEP, etc. Framework developers should rely on interfaces and should provide interfaces. For Java world this works (some ideas here http://java.dzone.com/articles/jsr-305-and-design-contract) If put all the things into the PHP core, it will become much bigger, more slower and hard to maintain. Later posts describes EOL for some extensions and SAPIs, but this place will not be clean, because another custom feature XXX is landed on free space. I would like to see a language with good extension API. For now, it's almost impossible to extend a parser, even from extension level (however, PHP7 will have a hook for that, thanks God). --e89a8f6476f30456f5050ebac761--