As per the latest version of swagger-php you can indicate a list of files and/or directories to exclude from scanning when building the documentation.
See the scan function's docblock on github for details.
A solution to your problem is to separate the public and private methods into different files. Then create two documentation generation methods/functions each excluding the other's files.
$privateOptions = array( 'exclude' => array('app/api/public') ); $privateDoc = Swagger\scan("app/", $privateOptions); ... $publicOptions = array( 'exclude' => array('app/api/private') ); $publicDoc = Swagger\scan("app/", $publicOptions);
Note: This example is indicative and not tested, you can also exclude filenames.