Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:17317 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 7524 invoked by uid 1010); 18 Jul 2005 14:35:34 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 7509 invoked from network); 18 Jul 2005 14:35:34 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 18 Jul 2005 14:35:34 -0000 X-Host-Fingerprint: 66.80.117.3 longsword.omniti.com Linux 2.5 (sometimes 2.4) (4) Received: from ([66.80.117.3:53549] helo=mail.omniti.com) by pb1.pair.com (ecelerity 2.0 beta r(6227M)) with SMTP id C2/9C-61486-53EBBD24 for ; Mon, 18 Jul 2005 10:35:34 -0400 DomainKey-Status: good X-DomainKeys: Ecelerity dk_sign implementing draft-delany-domainkeys-base-01 DomainKey-Signature: q=dns; a=rsa-sha1; c=nofws; s=test; d=omniti.com; h=Received:In-Reply-To:References:Mime-Version:Content-Type:Message-Id:Cc:Content-Transfer-Encoding:From:Subject:Date:To:X-Mailer; b=SslTc2diJo0rGHXKrqsgN9hvflw1cHshPwJ5uEO5oIbPVeqddcEAk0YO73qwaGts QbomIRBHdQHDzMaBCjOhx+NkT8z6sQc2FplmHH8m6xWB7pC3QxdAUaDN9kvYPVLi Received: from ([66.80.117.2:60771] helo=[10.80.116.150]) by mail.omniti.com (ecelerity HEAD r(4355M)) with SMTP id C7/47-02265-E2EBBD24 for ; Mon, 18 Jul 2005 10:35:30 -0400 In-Reply-To: <0CAB6605-9784-4598-B0BF-4A801502F6BE@plexpod.com> References: <200507181557.23627.Piotr_Roszatycki@netia.net.pl> <156DA82B-646B-4642-8905-344CBA066E69@omniti.com> <0CAB6605-9784-4598-B0BF-4A801502F6BE@plexpod.com> Mime-Version: 1.0 (Apple Message framework v733) Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-ID: <28812062-4A1A-40DD-82D6-007BA1076EEB@omniti.com> Cc: George Schlossnagle , Piotr Roszatycki , internals@lists.php.net Content-Transfer-Encoding: 7bit Date: Mon, 18 Jul 2005 10:35:22 -0400 To: Andrew Yochum X-Mailer: Apple Mail (2.733) Subject: Re: [PHP-DEV] mail() into separate extension? From: george@omniti.com (George Schlossnagle) On Jul 18, 2005, at 10:30 AM, Andrew Yochum wrote: > On Jul 18, 2005, at 10:15 AM, George Schlossnagle wrote: > > >> Drop-in replacements are evil. If you want to do this, you should >> just create a new function that does what you need to do and name >> it differently. If you're dead-set on doing a name-based >> replacement, then you should have your extension modify the symbol >> table directly, but again, this is evil. >> >> George >> > > George, > > Can you please substantiate your statement that drop-in > replacements are evil? > > I could only see them being a problem if they don't fully implement > the existing API. Sure. They inevitably will have differing behaviors (if not, why not just have a single unified function). Given that, you'll have different behaviors on different machines in a way that is not terribly transparent to end-users. That's evil. Not that there's anything wrong with being evil from time to time. That's the reason that apd had a replace_function call for mucking with the symbol table. But that's something that should be done locally. George