How to maintain a custom block content?
have you considered adding a standard HTML block at

Admin > Structure > Blocks > Add Block ? 

/admin/structure/block/add

Drupal provides a standard interface for editing the HTML block content.

Alternatively, if you have PHP code, combined with alot of static text in the block, you could load a node into it instead, and use regular node editing for maintaining that text content.

e.g, in hook_block_view

$node = node_load($nid); // Load the text content from node
// PHP logic to build some content...
// ...
$block['content'] = $data; // php content
$block['content'] .= render(node_view($node)); // node content