让Textmate从文件路径创建PHP自动加载类名

让Textmate从文件路径创建PHP自动加载类名,php,textmate,autoload,code-snippets,Php,Textmate,Autoload,Code Snippets,我想要的是一个片段,当执行时,它将获取TM_文件路径输出 在斜线上爆炸/ 然后将每个部分拆分为包含该部分和下划线的占位符(除了最后一部分(文件名)) 例如: 对于目录路径中的文件 /路径/到/原始/文件 我们会得到 class ${1:Path_}${2:To_}${3:Original_}${4:File} { // code here } 然后我可以跨过并移除我不想要的部分 以符合标准PHP自动加载程序的类名结尾 这听起来可能吗 干杯, Chris必须添加此最终结果作为答案才能启用

我想要的是一个片段,当执行时,它将获取TM_文件路径输出 在斜线上爆炸/ 然后将每个部分拆分为包含该部分和下划线的占位符(除了最后一部分(文件名)) 例如: 对于目录路径中的文件 /路径/到/原始/文件 我们会得到

class ${1:Path_}${2:To_}${3:Original_}${4:File} {
    // code here
}
然后我可以跨过并移除我不想要的部分 以符合标准PHP自动加载程序的类名结尾

这听起来可能吗

干杯,
Chris必须添加此最终结果作为答案才能启用代码显示。
只需确保设置“输出为代码段”

#!/usr/bin/php
<?php
$path = $_ENV['TM_FILEPATH'];
$path = trim($path, '/');
$path = trim($path, '.php');
$parts = explode('/', $path);
$lastPart = end($parts);
echo 'class ';
foreach ($parts as $id => $part) {
    // textmate placeholders start at 1
    $id = $id+1;
    if ($lastPart == $part) {
        echo '${'.$id.':'.$part.'}';
    } else {
        echo '${'.$id.':'.$part.'_}';
    }
}
?>
#/usr/bin/php