Comments (4)
(Originally posted by: adamlundrigan on 02/23/12)
I believe this issue has been rectified already. I ran this unit test against Zend\Code\Scanner\DocBlockScanner:
/**
* @group ZF2-110
*/
public function testDocBlockScannerParsesTagsWithNoValuesProperly()
{
$docComment = <<<EOB
/**
* @mytag
*/
EOB;
$tokenScanner = new DocBlockScanner($docComment);
$tags = $tokenScanner->getTags();
$this->assertCount(1, $tags);
$this->assertArrayHasKey('name', $tags[0]);
$this->assertEquals('@mytag', $tags[0]['name']);
$this->assertArrayHasKey('value', $tags[0]);
$this->assertEquals('', $tags[0]['value']);
}
And it passed. I've issued a PR (#820) to get this test added to the ZF2 test suite.
from zendframework.
(Originally posted by: mtorromeo on 02/23/12)
It seems I was wrong thinking that the problem was simply about tags without values. I still couldn't get my tags recognized with latest master and I found out that the issue was caused by a bug in the docblock cleaning function.
The regular expression used with single quotes failed to recognize tabs (\t) and also the cleaned docblock was not passed to the scanner.
Here is the fix:
diff --git a/library/Zend/Code/Reflection/DocBlockReflection.php b/library/Zend/Code/Reflection/DocBlockReflection.php
index 564ce62..63c35d4 100644
--- a/library/Zend/Code/Reflection/DocBlockReflection.php
+++ b/library/Zend/Code/Reflection/DocBlockReflection.php
@@ -259,10 +259,10 @@ class DocBlockReflection implements Reflection
$docComment = $this->docComment; // localize variable
// create a clean docComment
- $this->cleanDocComment = preg_replace('#[ \t]*(?:\/\*\*|\*\/|\*)?[ ]{0,1}(.*)?#', '$1', $docComment);
+ $this->cleanDocComment = preg_replace("#[ \t]*(?:\/\*\*|\*\/|\*)?[ ]{0,1}(.*)?#", '$1', $docComment);
$this->cleanDocComment = ltrim($this->cleanDocComment, "\r\n"); // @todo should be changed to remove first and last empty line
- $scanner = new DocBlockScanner($docComment);
+ $scanner = new DocBlockScanner($this->cleanDocComment);
$this->shortDescription = ltrim($scanner->getShortDescription());
$this->longDescription = ltrim($scanner->getLongDescription());
foreach ($scanner->getTags() as $tag) {
from zendframework.
(Originally posted by: maks3w on 05/14/12)
Hi Massimiliano,
You can send a Pull Request in Github with your patch. Anyway I tried to proposal but break some tests.
Regards.
from zendframework.
This issue was ported from the ZF2 Jira Issue Tracker at
http://framework.zend.com/issues/browse/ZF2-110
Known GitHub users mentioned in the original message or comment:
@mtorromeo, @Maks3w, @adamlundrigan
from zendframework.
Related Issues (20)
- Class Methods Hydrator - data not properly populated if object gets bound to form HOT 1
- Db/Sql/Predicate/Expression changes in #6849 introduced a BC break HOT 1
- SMTP SSL Error HOT 1
- Failed loading /home/zaman/Documents/ZendStudio/plugins/com.zend.php.executables.linux_7.1.3.201703171134/resources/ext/./ext/ZendDebugger.so: /home/zaman/Documents/ZendStudio/plugins/com.zend.php.executables.linux_7.1.3.201703171134/resources/ext/./ext/ZendDebugger.so: cannot open shared object file: No such file or directory HOT 1
- PHP-function each() has been deprecated (ZF2)
- A plugin by the name "getServiceLocator" was not found in the plugin manager Zend\Mvc\Controller\PluginManager HOT 5
- This regex may stuck in matching HOT 2
- ZF3 and Apigility 1.5 HOT 1
- Error Handling for a Specific Module Only
- Phone number validation criteria HOT 2
- Session timeout even when user is active HOT 6
- I have changed my files according to issue 5997 but still getting error No translator provided HOT 1
- Function mcrypt_*() is deprecated in Zend/Crypt/Symmetric/Mcrypt.php (ZF2) PHP 7.2 HOT 1
- Why zendframework so tricky? HOT 1
- Use of a broken or else risky cryptographic algorithm md5() in Subscriber.php at line 788 HOT 1
- Question: Advanced Routing HOT 4
- PHP 7.3 compatibility issues for zend-stdlib : Warning: "continue" targeting switch is equivalent to "break". HOT 2
- Strange ZF3 class not found error HOT 3
- CONTRIBUTING.md is not available HOT 1
- Hello , i have an error and need help HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from zendframework.