Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:76414 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 83939 invoked from network); 9 Aug 2014 10:35:21 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 9 Aug 2014 10:35:21 -0000 Authentication-Results: pb1.pair.com header.from=tom@sclinternet.co.uk; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=tom@sclinternet.co.uk; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain sclinternet.co.uk from 209.85.220.174 cause and error) X-PHP-List-Original-Sender: tom@sclinternet.co.uk X-Host-Fingerprint: 209.85.220.174 mail-vc0-f174.google.com Received: from [209.85.220.174] ([209.85.220.174:54546] helo=mail-vc0-f174.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 19/20-15529-769F5E35 for ; Sat, 09 Aug 2014 06:35:20 -0400 Received: by mail-vc0-f174.google.com with SMTP id la4so9448528vcb.5 for ; Sat, 09 Aug 2014 03:35:53 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:date:message-id:subject:from :to:content-type; bh=60fsNHd5pnnCoZWyV5e1tw6EQLmSnrVBOG/pHFdOCG0=; b=Sa0h9UqNEKrZdy4ksl3T9lCkXbd59/vO02tVnAd5ctsXLNyCGza1qSrslsEBiLQS6T 3MHPSZQWwZ1z7TW0cHFtdw/1ZNQAu5wBAxkPUIjdo0frDi0nvrN/uWFKwatrKt6tz2zv nq1MIHnNBEbqQGIGbsLDeDaDG3QoL19AXIll3dD+/cdpgzOG7WI8CiJFxUmSLaGZirYl 5uLwwCJEArpuTk9Rh3EtpqJKR2qMskSBRJinO/dYwaVRc+5qITlPNk0JN2629Kbittjp lqb3o/1FlPjFsTM8B0Tn++x5Y3KAWhwv+/y6uDjnlHGrHCLutTnaEEUXZWbam4/eHR6J oBiQ== X-Gm-Message-State: ALoCoQntvGnIBLg/xEPCziltvZipVbxCaYDEMhNAFtbIxhVQzNjh2QBYnBy04HdszvlEx62VKkHq MIME-Version: 1.0 X-Received: by 10.220.174.137 with SMTP id t9mr26665222vcz.12.1407580553156; Sat, 09 Aug 2014 03:35:53 -0700 (PDT) Sender: tom@sclinternet.co.uk Received: by 10.52.34.179 with HTTP; Sat, 9 Aug 2014 03:35:53 -0700 (PDT) Date: Sat, 9 Aug 2014 11:35:53 +0100 X-Google-Sender-Auth: X0uVIaIQXsp_io0KQJsPD6rA5ZE Message-ID: To: PHP Internals Content-Type: multipart/alternative; boundary=089e0149c594dd371105002fe24c Subject: Re: [PHP-DEV] Reflection to remove final From: tom@scl.co.uk (Tom Oram) --089e0149c594dd371105002fe24c Content-Type: text/plain; charset=UTF-8 I've just been looking back at the history of this previous conversation... http://marc.info/?l=php-internals&m=132673741606531&w=2 as a mockist tester I'd really REALLY like to see this be possible but I can see the problem with the original patch modifying the actual existing class. One solution I propose is rather than modify it would it be possible for the reflection class to be able to duplicate the class with the finals removed so something like this could be possible: final class A { } $r = new ReflectionClass('A'); $r->defineExtendableClass('ExtendableA'); class MockA extends ExtendabledA { } I'm unfamiliar with the PHP codebase so I thought I'd just ask here to find out if it sounds possible before diving into the code Thoughts? Regards, Tom --089e0149c594dd371105002fe24c--