Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:106336 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 17383 invoked from network); 30 Jul 2019 10:56:06 -0000 Received: from unknown (HELO mail-io1-f45.google.com) (209.85.166.45) by pb1.pair.com with SMTP; 30 Jul 2019 10:56:06 -0000 Received: by mail-io1-f45.google.com with SMTP id z3so7320697iog.0 for ; Tue, 30 Jul 2019 01:20:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=yCcFryDVQvTPhSI8nYwNrIIVEDWJxBu+uCCHCEi3U1c=; b=bClaY6irNzcobayNP80uhIzRdb4r3RO1Eq85XqltwfIy/C33y1G82Ukx8ruWR59Ab7 i1lfi2zhky7OYFcOZ4t1eZGNbChVeFWTMv2bhPmihvXHovMUxbYUdFOEAVthyWprJvUN cpdD2lv2Yh54Acs7Rjee65AZeMYKOcZJE8mpyoRztoQ9WkHp8BcMRiA7rrfJgR2DMgmY ET0iGLBlMBYBSyWIXo1h6MD6uypKEUT4c3DtxanRC85h/DyH0DTwTXKWEUA8SNO7EIZg wWk9HaUiYQTm/RJN8NWeBuGPyx1WjSHgr9AwpwYVyNGgI2yv4PJMQRN2fiq8v2c4LACn NH3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=yCcFryDVQvTPhSI8nYwNrIIVEDWJxBu+uCCHCEi3U1c=; b=uJNZgOsn3AT92nA/CeZI6xKOQ6nnogetZKf1HNfbTtvDzRwwiNjMAO2DPqP6cWGaGC SBJDDsUHEOMsWysFIo/pl85rxyO/0aUY6qPW5CfoPqHxQ4ICK9iqjGgK78vZBxitjOr0 UmRqbqQdIWKJqXr5YyCiPupIEeKZEutsv0IJJMzJ+5izVNTsOcAaQCQzkTJ9vD0vlZ70 PPSWtL4xr+++78im0pK8/p9kzf3Ofv0iEyubh5Fl1G2GVx6WfaMI2jAt3fX+iUebDR4G cGZTWRmxpmBzRSQbSbhu8oqK09VwFffSc/Kef+l1/5PvpWU2QLxnMNu8CxZMyFiy6EQP RAmw== X-Gm-Message-State: APjAAAXysEf+REpiNOE9Szn1A7uXObVedoo6FSpqxc7ehWZsvk4wQcZK yuAxAcmXpWPUBb/w36OTJxZYntlNyPnwiSSXWX0= X-Google-Smtp-Source: APXvYqyHtBkWL+Mwi+7GpCT52F4gV+dJyQJmbdJe2PRvKrNlyPxpVFJxC/nnZKjhWAKJYtNvZuPQxt5rGh6MQUB41YE= X-Received: by 2002:a02:1c0a:: with SMTP id c10mr122014647jac.69.1564474856504; Tue, 30 Jul 2019 01:20:56 -0700 (PDT) MIME-Version: 1.0 References: <9ADC8994-9D3C-4810-A2DB-6FB81D513098@gmail.com> In-Reply-To: Date: Tue, 30 Jul 2019 10:20:30 +0200 Message-ID: To: =?UTF-8?Q?Micha=C5=82_Brzuchalski?= Cc: Rowan Collins , PHP internals Content-Type: multipart/alternative; boundary="000000000000150335058ee1b099" Subject: Re: [PHP-DEV] Re: [RFC] Namespace-scoped declares, again From: kjarli@gmail.com (Lynn) --000000000000150335058ee1b099 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Jul 30, 2019 at 10:12 AM Micha=C5=82 Brzuchalski wrote: > IMO this would create a lot of problems cause name in Composer Package > doesn't reflect used namespace declared in autoload, for eg. > > Composer package name =3D> used namespace > --- > ocramius/package-version =3D> PackageVersions\ > doctrine/collections =3D> Doctrine\Common\Collections\ > symfony/console =3D> Symfony\Component\Console\ > > -- > regards / pozdrawiam, > -- > Micha=C5=82 Brzuchalski > Hi, This might also cause issues in scenarios where packages would register autoloading of a conflicting namespace. If for some reason the namespace clashes with a vendor, or vica versa, or a vendor package "hides" an additional namespace in the package and overrides the declares that way, it could cause a lot of problems. Would it be an idea to first establish the concept of a package within PHP, rather than deducting it based off a namespace? If packages would be a thing in PHP, other than just a namespace, package private could also be implemented as visibility modifier for inheritance and class visibility. Regards, Lynn van der Berg --000000000000150335058ee1b099--