Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:106594 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 77691 invoked from network); 14 Aug 2019 12:57:59 -0000 Received: from unknown (HELO mail-wr1-f49.google.com) (209.85.221.49) by pb1.pair.com with SMTP; 14 Aug 2019 12:57:59 -0000 Received: by mail-wr1-f49.google.com with SMTP id j16so8309383wrr.8 for ; Wed, 14 Aug 2019 03:26:36 -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:content-language; bh=BhygxKGZsQ1yAVpB8avZtd8hqAJgmlxaLFjMoADjtRk=; b=kwQCApyHE6aXBAHiiNY5IDRPIPaBu48lw9NRUNO8NNSQBXnlPeUdscPdfKJfGmA3OB vVjFYXyR6HNR4IQEWHN3Ri4MjSOowhL6pLaeLdFI6a8F4iCQS5TwaII1OoKMXFOO4lJd VozFNJZrBBj/2FiSscU1/uPtBvL/7anbYvk1RYAgm93nxa4YkvgrnwGgHLC0C/ck6TlA zSQJEAG7tviflD4+VPR/VY3miO54OnX+gezPIGhOsZq5xpr9exVleNI0hn6al8shCQyM fQMAPomZc3/NWc3qApMlztZlF4VpIu5myRqlmfIafljc+XwmbUxQ67CMZysAef6Ejv7u 0Hkw== 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 :content-language; bh=BhygxKGZsQ1yAVpB8avZtd8hqAJgmlxaLFjMoADjtRk=; b=jDoRCi1w3gJhx3kVUL5U69S+3lyecKUHf+IdI8w4nlNy999Vm+DVzWW0fC7CqxEFQv A48pKyJUjJJ8nP220cPZ5C980sHKWQh2q7dgKy7GG58w5WAK9I0jjXguSOvKXtBy3fu3 LOiQR0ZDgiAW3md3H+dpFwLp5qYFBV6XTz4N8gfoiJk3MRwDU64WkUl8ModL/Q6g2qZG COzRXKA5MjMm1PAkfDJ8Q+CBkMBR3GNFtjkp4+wCXVwISFXamfMS3etym7bTjr3k9olY FCf9dUXvpyg/O+RduTm5vMLoD8qz4tmkoi1r/vKpBVtdYqOHHIJ4If8xvND7vygHeWVv MqQQ== X-Gm-Message-State: APjAAAXxs6iOKm2IlrINSvdlYpc7AuiXo1I7WdjFAB8gAtiEAMh020fA cwCU24/pPyzkY0LU6VlQPLaxxJTK X-Google-Smtp-Source: APXvYqx5PVHGLErw4tbSYlZizgfBrfIg9to9P3jpsR/XEjyam5JL/c+380c1XeOHgLmm0QmndY9OYA== X-Received: by 2002:a5d:6911:: with SMTP id t17mr16090876wru.255.1565778395837; Wed, 14 Aug 2019 03:26:35 -0700 (PDT) Received: from [192.168.0.16] (cpc84253-brig22-2-0-cust114.3-3.cable.virginm.net. [81.108.141.115]) by smtp.googlemail.com with ESMTPSA id w13sm57397154wre.44.2019.08.14.03.26.35 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 14 Aug 2019 03:26:35 -0700 (PDT) To: internals@lists.php.net References: <25d774e8-183b-d39c-4ac4-81c1b7770229@gmail.com> <5d5298a5.1c69fb81.b4ed1.2d97SMTPIN_ADDED_MISSING@mx.google.com> <3db68c5e-54d1-812f-bbf5-1b089cba1bff@gmail.com> <5d52f72d.1c69fb81.8f95f.57a1SMTPIN_ADDED_MISSING@mx.google.com> <2bcb05d6-abf6-4fcb-599e-eaf4bcd58878@gmail.com> <182a6bd5-4057-7ba1-2cca-ab0be37e0b75@gmail.com> <72896017-20d0-16af-b188-8500777f947b@gmail.com> <00eea416-23be-6629-2e94-4cfa9f5fcb39@gmail.com> Message-ID: <29d542e8-bf63-3630-c173-367365a26a1f@gmail.com> Date: Wed, 14 Aug 2019 11:26:34 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-GB Subject: Re: [PHP-DEV] [RFC] Namespace-scoped declares, again From: rowan.collins@gmail.com (Rowan Collins) On 14/08/2019 11:17, Michał Brzuchalski wrote: > Following that would introduce unneeded additional directory hierarchy > level in a usual library > which uses PSR-4 which is the most used one, right? > > /composer.json > /src/Foo.php > /src/Foo/ <- all package classes should go here? That would be one place to put it, yes. But it would be entirely up to how people wanted to define their autoloader, that's the beauty of it. There's no reason something couldn't generate an autoloader that essentially said this: function autoload($name) {    if ( $name == self::PACKAGE_NAME ) {       require self::SRC_DIR . '/__packagedef.php';    } elseif ( str_begins_with($name, self::BASE_NAMESPACE) ) {       require self::SRC_DIR . str_replace('\\', '/', $name) . '.php';    } } Please don't pick holes in that implementation; my point is, if this was how packages were implemented, people would decide how they wanted to use it, and PSR-4 would probably be superseded by something which accounted for packages existing. Regards, -- Rowan Collins [IMSoP]