This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Fabien Potencier d574e239d5 merged branch gajdaw/component_finder_path_notPath (PR #4739)
This PR was merged into the master branch.

Commits
-------

4e21bf2 [Finder] Added path & notPath support to gnu find adapter.
6258d12 [Finder] Fixed expression classes.
5c6dbeb [Finder] Fixed tests.
c36dfc1 [Component][Finder] ->path(), ->notPath() methods (with basic tests)

Discussion
----------

[2.2][Finder] ->pathContains(), ->pathNotContains() methods (with basic tests)

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: [![Build Status](https://secure.travis-ci.org/gajdaw/symfony.png?branch=component_finder_path_notPath)](http://travis-ci.org/gajdaw/symfony)
Fixes the following tickets: #4581
Todo: -
License of the code: MIT
Documentation PR: -

Two additional methods: `Finder->path()` and `Finder->notPath()`.
They allow filtering with paths, e.g. `->path('some/special/dir')`.

---------------------------------------------------------------------------

by fabpot at 2012-09-21T05:52:01Z

Can you submit a PR on symfony/symfony-docs to update the documentation and reference it here before I merge? Thanks.

---------------------------------------------------------------------------

by gajdaw at 2012-09-21T10:54:50Z

I've already done it in PR1527.

https://github.com/symfony/symfony-docs/pull/1527

---------------------------------------------------------------------------

by stof at 2012-09-21T22:15:46Z

Actually, to be BC in PHPUnit when switching to Finder (this feature is the reason why the switch was reverted in 3.7), they will need the support of the glob syntax. Should it be supported directly in the Finder or should we consider that PHPUnit will have to put the code converting globs to regexes themselves before calling the finder ?

---------------------------------------------------------------------------

by fabpot at 2012-09-23T13:15:08Z

@stof what about supporting globs/patterns for the `in()` method?

---------------------------------------------------------------------------

by stof at 2012-09-23T13:38:00Z

yeah, this could be a good idea too

---------------------------------------------------------------------------

by gajdaw at 2012-09-26T06:11:56Z

Supporting globs in `path(), notPath()` methods is trivial: we have `Glob::toRegex()`. The only thing to do is to convert (when necessary) parameter sent to `path(), notPath()`.

---------------------------------------------------------------------------

by stof at 2012-10-13T17:19:08Z

@gajdaw can you update this PR with the glob support and rebase it ?

---------------------------------------------------------------------------

by fabpot at 2012-10-29T11:20:55Z

@gajdaw You also need to rebase and update the new adapters accordingly. Maybe @jfsimon can help.

---------------------------------------------------------------------------

by jfsimon at 2012-10-29T16:22:25Z

With pleasure! @gajdaw let me know if I can do anything.

---------------------------------------------------------------------------

by gajdaw at 2012-10-29T16:48:10Z

I have moved `->path()` and `->notPath()` methods to `PhpAdapter`.

This implementation passes all the tests on Windows, but Travis reports failures.

I think that similar methods should be implemented for `GnuFindAdapter`.

@jfsimon What do you think?

---------------------------------------------------------------------------

by jfsimon at 2012-10-29T17:03:36Z

@gajdaw Travis says class 'Symfony\Component\HttpKernel\Exception\InternalServerErrorHttpException' not found in /home/travis/builds/symfony/symfony/src/Symfony/Component/HttpKernel/Tests/Exception/FlattenExceptionTest.php on line 83. This is weird.

And yes, `AdapterInterface` and `GnuFindAdapter` should be updated too. I can work on it if you like.

---------------------------------------------------------------------------

by fabpot at 2012-10-29T17:07:46Z

I've just fixed the unit tests

---------------------------------------------------------------------------

by gajdaw at 2012-10-29T17:25:43Z

@jfsimon Can implement `path(), notPath()` for `GnuFindAdapter`? I have no time to analyse Gnu's `find` command at the moment. Thanks!

---------------------------------------------------------------------------

by jfsimon at 2012-10-29T17:30:13Z

@gajdaw okay.

---------------------------------------------------------------------------

by jfsimon at 2012-10-29T19:05:26Z

@gajdaw work complete! I cant make a PR on your repos :-/ Could you merge my repos https://github.com/jfsimon/symfony/tree/component_finder_path_notPath please? Or maybe could I post a new PR on symfony/master.

---------------------------------------------------------------------------

by gajdaw at 2012-10-30T05:34:17Z

@jfsimon I have pulled your changes. I don't know wheather you should post a new PR.
2012-10-30 07:00:44 +01:00
src/Symfony [Finder] Added path & notPath support to gnu find adapter. 2012-10-29 19:57:16 +01:00
.editorconfig Add EditorConfig File 2012-06-16 14:08:15 +02:00
.gitignore ignore composer.phar 2012-04-20 14:10:06 +01:00
.travis.yml Merge branch '2.1' 2012-09-20 10:40:30 +02:00
autoload.php.dist removed manual locale stub autoload 2012-10-03 13:58:05 +03:00
CHANGELOG-2.0.md updated CHANGELOG for 2.0.18 2012-10-25 10:56:03 +02:00
CHANGELOG-2.1.md updated CHANGELOG for 2.1.2 2012-09-20 09:12:35 +02:00
composer.json Merge branch '2.1' 2012-10-18 23:16:19 +02:00
CONTRIBUTING.md Create CONTRIBUTING.md file for auto-linking in PR's 2012-09-17 14:40:53 -04:00
CONTRIBUTORS.md update CONTRIBUTORS for 2.0.18 2012-10-25 10:56:32 +02:00
LICENSE Updated LICENSE files copyright 2012-02-22 10:10:37 +01:00
phpunit.xml.dist [Locale] Fixed tests 2012-09-24 10:11:13 +02:00
README.md Point to information on how to run the test suite. (closes #5405) 2012-09-01 08:52:18 +02:00
UPGRADE-2.1.md Remove § about prototype_name customization in 2.0 2012-10-25 10:33:18 +02:00

README

Build Status

What is Symfony2?

Symfony2 is a PHP 5.3 full-stack web framework. It is written with speed and flexibility in mind. It allows developers to build better and easy to maintain websites with PHP.

Symfony can be used to develop all kind of websites, from your personal blog to high traffic ones like Dailymotion or Yahoo! Answers.

Requirements

Symfony2 is only supported on PHP 5.3.3 and up.

Be warned that PHP versions before 5.3.8 are known to be buggy and might not work for you:

Installation

The best way to install Symfony2 is to download the Symfony Standard Edition available at http://symfony.com/download.

Documentation

The "Quick Tour" tutorial gives you a first feeling of the framework. If, like us, you think that Symfony2 can help speed up your development and take the quality of your work to the next level, read the official Symfony2 documentation.

Contributing

Symfony2 is an open source, community-driven project. If you'd like to contribute, please read the Contributing Code part of the documentation. If you're submitting a pull request, please follow the guidelines in the Submitting a Patch section.

Running Symfony2 Tests

Information on how to run the Symfony2 test suite can be found in the Running Symfony2 Tests section.